Python 기본 입문 튜토...login
Python 기본 입문 튜토리얼
작가:php.cn  업데이트 시간:2022-04-18 16:14:50

파이썬 사전


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
dict['Age']: 7
에 없는 키를 사용하여 데이터에 액세스하는 경우 사전을 사용하면 다음 오류가 출력됩니다:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, ' Class': 'First'};

print "dict['Alice']: ", dict['Alice'];
위 예제의 출력 결과:

dict['Zara']:
추적(가장 최근 호출 마지막):
파일 "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[' Age']: 8
dict['School']: DPS School


사전 요소 삭제

단일 요소 삭제 가능 또는 사전을 지우려면 한 번의 작업만 필요합니다.

다음 예와 같이 사전을 삭제하는 del 명령을 표시합니다.

#!/usr/bin/python
# -*- 코딩: UTF- 8 -*-

dict = {'이름': '자라', '나이': 7, '클래스': '첫번째'};

del dict['이름']; # 삭제 키는 '이름' 항목입니다
dict.clear();         # 사전의 모든 항목 지우기
del dict                                                                                                                ;
인쇄 "dict['School']: ", dict['School' ];

그러나 del:

dict['Age']:
Traceback(최근 마지막 호출):
파일 "test.py", 8행, <module>
print "dict[' Age']: ", dict['Age'];
TypeError: 'type ' 객체는 구독할 수 없습니다

참고:

del() 메서드에 대해서도 나중에 설명합니다.

사전 키의 특성

사전 값은 표준 객체든 사용자 정의 객체든 제한 없이 모든 Python 객체를 사용할 수 있지만 키는 그럴 수 없습니다.

기억해야 할 두 가지 중요한 사항:


1) 동일한 키가 두 번 나타날 수 없습니다. 생성 중에 동일한 키가 두 번 할당되면 다음 예와 같이 후자의 값이 기억됩니다:


#!/usr/bin/python
dict = {'이름': 'Zara', 'Age': 7, '이름': 'Manni'};

print "dict['Name']: ", dict[ ' 이름'];

위 예시의 출력 결과:

dict['Name']: Manni

2) 키는 불변이어야 하므로 숫자를 사용할 수 있으며, 문자열 또는 요소 Group은 그룹으로 작동하므로 목록을 사용하면 다음 예가 작동하지 않습니다.

#!/usr/bin/python

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

print "dict['Name']: ", dict['Name'];

출력 결과 위의 예:

추적(가장 최근 호출 마지막):
파일 "test.py", 3행, in <module>
dict = {['Name' ]: 'Zara', 'Age': 7} ;
TypeError: 목록 개체는 해시할 수 없습니다


사전 내장 함수 및 메서드

Python 사전에는 다음 내장 함수가 포함되어 있습니다.

< td>cmp(dict1, dict2)
일련 번호함수 및 설명
1
序号函数及描述
1cmp(dict1, dict2)
比较两个字典元素。
2len(dict)
计算字典元素个数,即键的总数。
3str(dict)
输出字典可打印的字符串表示。
4type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
두 개의 사전 요소를 비교합니다. 2len(dict)

사전 요소의 개수, 즉 총 키 개수를 계산합니다. 3str(dict)

사전의 인쇄 가능한 문자열 표현을 출력합니다. 4type(variable)
序号函数及描述
1radiansdict.clear()
删除字典内所有元素
2radiansdict.copy()
返回一个字典的浅复制
3radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5radiansdict.has_key(key)
如果键在字典dict里返回true,否则返回false
6radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
7radiansdict.keys()
以列表返回一个字典所有的键
8radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10radiansdict.values()
以列表返回字典中的所有值
입력 변수 유형을 반환하고, 변수가 사전인 경우 사전 유형을 반환합니다.
Python 사전에는 다음과 같은 내장 메서드가 포함되어 있습니다:
< th style="width:5%">일련번호< td>9 td>
기능 및 설명
1radiansdict.clear()<🎜>사전의 모든 요소 삭제
2radiansdict.copy()<🎜>반환 사전의 얕은 복사본
3radiansdict.fromkeys()<🎜> 시퀀스 seq의 요소를 키로 사용하여 새 사전을 만듭니다. val은 사전의 모든 키입니다. 해당 초기 값
4radiansdict.get(key, default=None)<🎜 >값이 사전에 없으면 지정된 키의 값을 반환합니다. 기본값을 반환합니다.
5radiansdict.has_key(key)< 🎜>키가 사전 dict에 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
6radiansdict.items()<🎜>횡단 가능한 항목을 반환합니다. (키, 값) 목록으로서의 튜플 배열
7radiansdict.keys()<🎜>사전의 모든 키를 목록으로 반환합니다.
8 radiansdict.setdefault(key, default=None)<🎜> get()과 유사하지만 키가 사전에 키가 추가되고 값이 기본값으로 설정됩니다.
radiansdict.update(dict2)<🎜>키 업데이트/ 사전 dict2의 값 쌍을 dict로
10 radiansdict.values()<🎜>사전의 모든 값을 목록으로 반환
<🎜><🎜>