파이썬 사전
Dictionary는 변경 가능한 또 다른 컨테이너 모델이며 모든 유형의 객체를 저장할 수 있습니다.
사전의 각 키-값(key=>value) 쌍은 콜론(:)으로 구분되며, 각 쌍은 쉼표(,<)로 구분됩니다. 🎜>) , 전체 사전은 중괄호({}) 안에 포함되며 형식은 다음과 같습니다.
d = {key1 : value1, key2 : value2 }
키는 고유해야 하지만 값은 고유하지 않습니다. 값은 모든 데이터 유형이 될 수 있지만 키는 문자열, 숫자 또는 튜플과 같이 변경할 수 없어야 합니다. 간단한 사전 예: 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', '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 = {'Name': 'Zara', 'Age': 7, ' Class': 'First'};
print "dict['Alice']: ", dict['Alice'];
dict['Zara']:
위 예의 출력 결과:
dict['Age']:
<🎜><🎜>
추적(가장 최근 호출 마지막):
파일 "test.py", 4행, <module>
print "dict ['앨리스']: ", dict['앨리스'];
KeyError: '앨리스'
파일 "test.py", 4행, <module>
print "dict ['앨리스']: ", dict['앨리스'];
KeyError: '앨리스'
사전 수정
사전에 새 콘텐츠를 추가하는 방법은 다음과 같이 새 키/값 쌍을 추가하거나 기존 키/값 쌍을 수정 또는 삭제하는 것입니다.
#!/usr/bin/python
dict = {'이름': '자라', '나이': 7, '클래스': '첫 번째'};
dict['Age'] = 8; # 기존 항목 업데이트
dict['School'] = "DPS School"; # 새 항목 추가
print "dict['Age'] : ", dict['Age'];
print "dict['School']: ", dict['School'];
dict = {'이름': '자라', '나이': 7, '클래스': '첫 번째'};
dict['Age'] = 8; # 기존 항목 업데이트
dict['School'] = "DPS School"; # 새 항목 추가
print "dict['Age'] : ", dict['Age'];
print "dict['School']: ", dict['School'];
dict[' Age']: 8
dict['School']: DPS School
dict['School']: DPS School
사전 요소 삭제
단일 요소 삭제 가능 또는 사전을 지우려면 한 번의 작업만 필요합니다.
다음 예와 같이 사전을 삭제하는 del 명령을 표시합니다.
#!/usr/bin/python
# -*- 코딩: UTF- 8 -*-
dict = {'이름': '자라', '나이': 7, '클래스': '첫번째'};
del dict['이름']; # 삭제 키는 '이름' 항목입니다
dict.clear(); # 사전의 모든 항목 지우기
del dict ;
인쇄 "dict['School']: ", dict['School' ];
그러나 del: # -*- 코딩: UTF- 8 -*-
dict = {'이름': '자라', '나이': 7, '클래스': '첫번째'};
del dict['이름']; # 삭제 키는 '이름' 항목입니다
dict.clear(); # 사전의 모든 항목 지우기
del dict ;
인쇄 "dict['School']: ", dict['School' ];
Traceback(최근 마지막 호출):
참고: 파일 "test.py", 8행, <module>
print "dict[' Age']: ", dict['Age'];
TypeError: 'type ' 객체는 구독할 수 없습니다
print "dict[' Age']: ", dict['Age'];
TypeError: 'type ' 객체는 구독할 수 없습니다
del() 메서드에 대해서도 나중에 설명합니다.
사전 키의 특성사전 값은 표준 객체든 사용자 정의 객체든 제한 없이 모든 Python 객체를 사용할 수 있지만 키는 그럴 수 없습니다.
기억해야 할 두 가지 중요한 사항:
1) 동일한 키가 두 번 나타날 수 없습니다. 생성 중에 동일한 키가 두 번 할당되면 다음 예와 같이 후자의 값이 기억됩니다:
dict = {'이름': 'Zara', 'Age': 7, '이름': 'Manni'};
print "dict['Name']: ", dict[ ' 이름'];
2 len(dict) 3 str(dict)사전의 인쇄 가능한 문자열 표현을 출력합니다. 4 type(variable)
입력 변수 유형을 반환하고, 변수가 사전인 경우 사전 유형을 반환합니다.
Python 사전에는 다음과 같은 내장 메서드가 포함되어 있습니다: print "dict['Name']: ", dict[ ' 이름'];
위 예시의 출력 결과:
dict['Name']: Manni
2) 키는 불변이어야 하므로 숫자를 사용할 수 있으며, 문자열 또는 요소 Group은 그룹으로 작동하므로 목록을 사용하면 다음 예가 작동하지 않습니다.
#!/usr/bin/python
dict = {['Name ']: 'Zara', 'Age': 7};
print "dict['Name']: ", dict['Name'];
dict = {['Name ']: 'Zara', 'Age': 7};
print "dict['Name']: ", dict['Name'];
출력 결과 위의 예:
추적(가장 최근 호출 마지막):
파일 "test.py", 3행, in <module>
dict = {['Name' ]: 'Zara', 'Age': 7} ;
TypeError: 목록 개체는 해시할 수 없습니다
파일 "test.py", 3행, in <module>
dict = {['Name' ]: 'Zara', 'Age': 7} ;
TypeError: 목록 개체는 해시할 수 없습니다
사전 내장 함수 및 메서드
Python 사전에는 다음 내장 함수가 포함되어 있습니다.
일련 번호 | 함수 및 설명 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | < td>cmp(dict1, dict2)
序号 | 函数及描述 |
---|---|
1 | cmp(dict1, dict2) 比较两个字典元素。 |
2 | len(dict) 计算字典元素个数,即键的总数。 |
3 | str(dict) 输出字典可打印的字符串表示。 |
4 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 |
사전 요소의 개수, 즉 총 키 개수를 계산합니다.
序号 | 函数及描述 |
---|---|
1 | radiansdict.clear() 删除字典内所有元素 |
2 | radiansdict.copy() 返回一个字典的浅复制 |
3 | radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
4 | radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
5 | radiansdict.has_key(key) 如果键在字典dict里返回true,否则返回false |
6 | radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 |
7 | radiansdict.keys() 以列表返回一个字典所有的键 |
8 | radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 |
10 | radiansdict.values() 以列表返回字典中的所有值 |
기능 및 설명 | |
---|---|
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()과 유사하지만 키가 사전에 키가 추가되고 값이 기본값으로 설정됩니다. |
radiansdict.update(dict2)<🎜>키 업데이트/ 사전 dict2의 값 쌍을 dict로 | |
10 | radiansdict.values()<🎜>사전의 모든 값을 목록으로 반환 |