>  기사  >  백엔드 개발  >  Python 사전 기본 사항에 대한 신선한 검토

Python 사전 기본 사항에 대한 신선한 검토

王林
王林원래의
2023-09-03 20:09:021360검색

Python 字典基础知识的令人耳目一新的回顾

이전 튜토리얼에서 Python의 매우 다양하고 유연한 객체 유형인 list에 대해 논의했습니다. 이 기사에서는 사전(연관 배열 또는 해시라고도 함)이라는 또 다른 유연한 Python 객체 유형에 대한 리뷰를 계속하겠습니다. 목록과 마찬가지로 사전은 Python 여정을 진행하기 위해 숙달해야 하는 중요한 개념입니다.

사전이란 무엇인가요?

List 글을 읽어보셨다면 사전의 개념을 쉽게 이해하실 수 있을 것입니다. 목록과 매우 유사하지만 두 가지 주요 차이점이 있습니다.

  1. 순서가 없는 세트입니다(순서가 있는 목록과 다름).
  2. 키는 위치( 즉, 색인)보다는 항목에 액세스하는 데 사용됩니다.

사전의 각 키에는 모든 Python 객체 유형이 될 수 있는 값이 있습니다. 즉, 사전은 키-값 쌍으로 볼 수 있습니다. 그러나 는 목록 또는 사전 유형일 수 없습니다.

영불사전을 만들어보자

이전 섹션에서 본 것처럼 사전은 순서가 지정되지 않은 키-값 쌍 집합입니다. 이 개념을 사용하여 첫 번째 예인 영어-프랑스어 사전을 만들어 보겠습니다. 사전은 다음과 같이 생성할 수 있습니다:

english_french = {'paper':'papier', 'pen':'stylo', 'car':'voiture', 'table':'table','door':' porte'}

Dictionary english_french에는 keys로 설정된 5개의 영어 단어와 values로 설정된 프랑스어 의미가 포함되어 있습니다.

프랑스어로 pen을 어떻게 말하는지 알고 싶다고 가정해 보세요. 우리가 해야 할 일은:

english_french['pen']

반환 값으로 stylo를 얻게 됩니다.

더 흥미로운 일을 만드세요

다음과 같이 french_spanish 词典,其单词与 english_french 사전에 있는 단어와 동일한 단어를 포함하는 french_spanish 사전이 있다고 가정해 보겠습니다.

french_spanish = {'papier':'papel', 'stylo':'pluma', 'voiture':'coche', 'table':'mesa', 'porte':' puerta'}

글쎄, 누군가가 스페인어로 door,而您手头没有英语-西班牙语词典!但是,不用担心,有一个解决方案。查阅您的 english_french 词典中的单词,然后使用结果查阅 french_spanish 말하는 방법을 물었는데, 편리한 영-스페인어 사전이 없군요! 하지만 걱정하지 마세요. 해결책이 있습니다.

사전에서 단어를 찾은 다음 그 결과를 사용하여 french_spanish 사전을 찾아보세요. 이해했나요? Python에서 이를 수행하는 방법을 살펴보겠습니다.

french_spanish[english_french['door']]

puerta。这不是很好吗?尽管您没有英语-西班牙语词典,但您刚刚得到了西班牙语中的 door결과는

라는 단어여야 합니다.

더 많은 사전 작업

english_french이전 예에서는 사전을 생성하고 사전에 있는 항목에 액세스하는 방법을 살펴보았습니다. 사전으로 무엇을 더 할 수 있는지 살펴보겠습니다. 아래 예에서는

사전을 사용하겠습니다.

사전에는 몇 개의 항목이 있나요?

len()즉, 이 작업의 목적은 사전에 있는 키-값 쌍의 수를 반환하는 것입니다. 이는 다음과 같이

연산자를 사용하여 수행할 수 있습니다.

len(english_french)

5반납하셔야 합니다

.

키 삭제

사전 항목 삭제는 door를 통해 수행됩니다. 예를 들어, 사전에서 (key)

라는 단어를 제거하고 싶다고 가정해 보겠습니다. 이 작업은 다음과 같이 간단하게 수행할 수 있습니다:

del english_french['door']

이렇게 하면 door 及其porte

porte가 삭제됩니다.

사전에 열쇠가 있나요? door。如果我们想检查 door이전 섹션에서는 사전에서

english_french를 제거했습니다.

가 사전에 아직 존재하는지 확인하려면 다음을 입력합니다.

False

의 "게이트" not반납해야 합니다

.

'door' 不在 english_french그렇다면 다음 명령문이 무엇을 반환할 것이라고 생각하시나요? 한번 시도해 보세요(참고

).

english_french['door']

사전에 존재하지 않는

回溯(最近一次调用最后):에 접근하려고 하면 어떻게 되나요?

라고 말해보세요. 이 경우 다음과 유사한 오류가 표시됩니다.

文件“dictionary.py”,第 7 行,位于 <module></module>

打印 english_french['door']

매체 KeyError: 'door'

🎜🎜🎜🎜

사전 사본 만들기

다음과 같이 간단히 수행하려면 english_french 词典的副本,并将其分配给另一个词典。这可以使用 copy() 기능이 필요할 수 있습니다.

new_english_french = english_french.copy()

중첩 사전

위에서 언급했듯이 사전의 값은 사전을 포함한 모든 유형이 될 수 있습니다. 이것을 중첩이라고 합니다. 예는 다음과 같습니다:

学生 = {'ID':{'name':'Abder-Rahman', 'number':'1234'}}

따라서 student['ID']를 입력하면 다음이 표시됩니다.

{'name': 'Abder-Rahman', 'number': '1234'} 

사전 반복

다시 english_french사전으로 돌아가 보겠습니다. 다양한 방법으로 사전의 항목을 반복할 수 있습니다:

english_french 中的单词:

打印单词

이 진술의 결과는 다음과 같습니다.

car

pen

paper

door

table

결과의 순서는 english_french 사전의 순서와 다릅니다. 이제 내가 사전이 순서가 없는 모음으로 취급된다고 말한 이유를 알 수 있습니다.

를 반복하는 또 다른 방법은 다음과 같습니다.

对于 english_french.iterkeys() 中的单词:

打印单词

우리는 아래와 같이 iterkeys() 函数。类似的可用于迭代值的函数,即 itervalues()를 사용했습니다:

用于 english_french.itervalues() 中的含义:

打印含义

이 예의 결과는 다음과 같아야 합니다.

voiture

stylo

papier

porte

table

사전 생성의 대안

다른 사용 방법이 있습니다. dict 构造函数在 Python 中创建字典。使用 dict 创建相同词典 ID 몇 가지 예는 다음과 같습니다.

ID = dict(name = 'Abder-Rahman', number = 1234)

ID = dict([('name','Abder-Rahman'),('number',1234)])

ID = dict(zip(['name','number'],['Abder-Rahman',1234])) # 键和值作为列表

사전으로 더 많은 일을 할 수 있습니다. 자세한 내용은 Python 설명서를 확인하세요.

위 내용은 Python 사전 기본 사항에 대한 신선한 검토의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.