Python-사전

사전에서 각 키는 콜론 (:)으로 값과 구분되고 항목은 쉼표로 구분되며 전체는 중괄호로 묶여 있습니다. 항목이없는 빈 사전은 {}와 같이 중괄호 두 개만 사용하여 작성됩니다.

키는 사전 내에서 고유하지만 값은 그렇지 않을 수 있습니다. 사전의 값은 모든 유형이 될 수 있지만 키는 문자열, 숫자 또는 튜플과 같은 변경 불가능한 데이터 유형이어야합니다.

사전의 값에 액세스

사전 요소에 액세스하려면 키와 함께 익숙한 대괄호를 사용하여 값을 얻을 수 있습니다. 다음은 간단한 예입니다.

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']

위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.

dict['Name']:  Zara
dict['Age']:  7

딕셔너리의 일부가 아닌 키로 데이터 항목에 액세스하려고하면 다음과 같은 오류가 발생합니다.

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']

위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.

dict['Alice']:
Traceback (most recent call last):
   File "test.py", line 4, in <module>
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

사전 업데이트

아래의 간단한 예제와 같이 새 항목 또는 키-값 쌍을 추가하거나 기존 항목을 수정하거나 기존 항목을 삭제하여 사전을 업데이트 할 수 있습니다.

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.

dict['Age']:  8
dict['School']:  DPS School

사전 요소 삭제

개별 사전 요소를 제거하거나 사전의 전체 내용을 지울 수 있습니다. 한 번의 작업으로 전체 사전을 삭제할 수도 있습니다.

전체 사전을 명시 적으로 제거하려면 del성명서. 다음은 간단한 예입니다.

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear();     # remove all entries in dict
del dict ;        # delete entire dictionary

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

이것은 다음과 같은 결과를 생성합니다. 예외가 발생합니다.del dict 사전이 더 이상 존재하지 않습니다-

dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in <module>
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

Note − del () 메서드는 다음 섹션에서 설명합니다.

사전 키의 속성

사전 값에는 제한이 없습니다. 임의의 Python 객체, 표준 객체 또는 사용자 정의 객체 일 수 있습니다. 그러나 키도 마찬가지입니다.

사전 키에 대해 기억해야 할 두 가지 중요한 사항이 있습니다.

(a)키당 하나 이상의 항목이 허용되지 않습니다. 이는 중복 키가 허용되지 않음을 의미합니다. 할당 중에 중복 키가 발견되면 마지막 할당이 승리합니다. 예를 들면-

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict['Name']: ", dict['Name']

위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.

dict['Name']:  Manni

(b)키는 변경 불가능해야합니다. 즉, 문자열, 숫자 또는 튜플을 사전 키로 사용할 수 있지만 [ 'key']와 같은 것은 허용되지 않습니다. 다음은 간단한 예입니다.

#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7}
print "dict['Name']: ", dict['Name']

위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.

Traceback (most recent call last):
   File "test.py", line 3, in <module>
      dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable