Python Dictionary
Dictionary는 변경 가능한 또 다른 컨테이너 모델이며 다른 컨테이너 모델과 같은 모든 유형의 객체를 저장할 수 있습니다.
사전은 키와 해당 값의 쌍으로 구성됩니다. 사전은 연관 배열 또는 해시 테이블이라고도 합니다. 기본 구문은 다음과 같습니다.
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
다음과 같이 사전을 생성할 수도 있습니다.
dict1 = { 'abc': 456 }; dict2 = { 'abc': 123, 98.6: 37 };
각 키와 값은 콜론(:)으로 구분되며, 각 쌍은 쉼표로 구분된 각 쌍은 쉼표로 구분되어 있으며 전체를 중괄호({})로 묶습니다.
키는 고유해야 하지만 값은 그렇지 않습니다.
값은 모든 데이터 유형이 될 수 있지만 문자열, 숫자 또는 튜플과 같이 변경할 수 없어야 합니다.
사전의 값에 액세스
다음 예와 같이 해당 키를 익숙한 대괄호 안에 넣습니다.
#!/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['Zara']: 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']; # 删除键是'Name'的条目 dict.clear(); # 清空词典所有条目 del dict ; # 删除词典 print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];
그러나 del을 사용한 후에 사전이 더 이상 존재하지 않기 때문에 예외가 발생합니다.
dict['Age']: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable
참고: del() 메서드에 대해서도 나중에 설명합니다.
사전 요소 삭제
사전 키의 특성
사전 값은 표준 개체 또는 사용자 정의 등 모든 Python 개체를 제한 없이 사용할 수 있지만 키는 사용할 수 없습니다.
기억해야 할 두 가지 중요한 사항:
1) 동일한 키가 두 번 나타날 수 없습니다. 생성 시 동일한 키를 두 번 할당하면 후자의 값이 기억됩니다. 다음 예시
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}; print "dict['Name']: ", dict['Name'];
위 예시의 출력 결과:
dict['Name']: Manni
2) 키 은 immutable이어야 하므로 숫자, 문자열 또는 튜플로 사용할 수 있으므로 다음 예와 같이 목록으로 사용할 수 없습니다.
#!/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
사전 내장 함수 및 메서드
Python 사전에는 다음 내장 함수가 포함되어 있습니다.
일련번호
함수 및 설명
1 cmp(dict1, dict2)
두 개의 사전 요소를 비교합니다.
2 len(dict)
사전 요소의 개수, 즉 전체 키 개수를 계산합니다.
3 str(dict)
사전의 인쇄 가능한 문자열 표현을 출력합니다.
4 type(variable)
입력된 변수의 형을 반환하고, 변수가 사전인 경우 사전형을 반환한다.
Python 사전에는 다음 내장 함수가 포함되어 있습니다.
일련 번호
함수 및 설명
1 radiansdict .clear()
사전의 모든 요소 삭제
2 radiansdict.copy()
사전의 얕은 복사본 반환
3 radiansdict.fromkeys()
만들기 새 사전은 시퀀스 seq의 요소를 사전의 키로 사용하고, val은 사전의 모든 키에 해당하는 초기 값입니다.
4 radiansdict.get(key, default=None)
지정된 키의 값을 반환하고, 해당 값이 사전에 없으면 기본값을 반환합니다.
5 radiansdict.has_key(key )
키가 사전 dict에서 true를 반환하고, 그렇지 않으면 false를 반환합니다.
6 radiansdict.items()
순회 가능한(키, 값) 튜플 배열을 목록으로 반환
7 radiansdict.keys()
사전의 모든 키를 목록으로 반환합니다.
8 radiansdict.setdefault(key, default=None)
get()과 유사하지만 키가 사전에 이미 없으면 키가 추가되고 값이 기본값으로 설정됩니다.
9 radiansdict.update(dict2)
사전 dict2의 키/값 쌍을 dict로 업데이트
10 radiansdict.values()
사전에 있는 모든 값을 리스트로 반환
위 내용은 [파이썬 튜토리얼] 파이썬 사전(사전) 내용입니다. PHP 중국어 웹사이트(www.php.cn)를 주목하세요!