사전은 Python의 5가지 기본 데이터 유형 중 하나입니다. 할당이 조금 더 번거롭기는 하지만 사용하기가 정말 편리합니다. 키-값 쌍을 사용하여 데이터를 저장합니다. 소위 키-값 쌍은 값에 해당하는 키입니다. 나중에 다시 값이 할당되면 첫 번째 값을 덮어쓰게 됩니다.
1: 사전 생성
우리는 Python의 목록은 '[]'로 표현되고, 프리미티브는 '()'로, 사전은 '{}'로 표현된다는 것을 알고 있습니다. and strings 더 번거롭지만 이 키 값 세 단어만 기억하면 올바르게 사전형 변수를 생성할 수 있습니다. 다음 코드를 보세요
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d) print(type(d)) print(d['a']) print(d['c'][1]) print(d['d'][1])
출력 결과는 다음과 같습니다.
{'a ': '나는 a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)}
나는 a
2
첫 번째 줄에는 d라는 사전 유형을 생성합니다. 생성할 때 각 키 이름을 영어 따옴표로 인쇄하며 키 값은 모든 데이터 유형이 될 수 있습니다. a는 문자이고, b 키의 파트타임 기능은 숫자, c 키의 키 값은 리스트, d 키의 키 값은 튜플입니다.
세 번째 줄은 다음을 출력합니다.
네 번째 줄에서는 type 함수를 사용하여 변수 d의 데이터 유형을 확인합니다. 예, dict는 사전을 나타냅니다. like list는 목록을 나타냅니다.
5번째 줄의 값은 사전의 키 a를 출력합니다. 키 값의 여섯 번째 줄은
키 값 c의 두 번째 요소를 출력합니다. 유형이므로 d['c']를 목록처럼 작동할 수 있습니다
일곱 번째 줄과 여섯 줄은 키 값 유형이 원래 유형으로 대체된다는 점만 제외하면 유사합니다
2: 사전 수정
사전을 생성할 때 각 키에 대한 키 값을 지정합니다. 나중에 이 키의 키 값을 수정하려면 어떻게 해야 할까요? 또한 매우 간단합니다. 다음과 같이 키를 다시 할당하기만 하면 됩니다.
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d['a']) d['a'] = '我是被修改后的a' print(d['a'])
출력 결과는 다음과 같습니다.
I am a
I am the Modified a
네 번째 줄에서는 원본을 출력합니다. a 키의 키 값, 다섯 번째 줄은 a의 키 값을 수정하고, 여섯 번째 줄은 수정된 a
3: 사전 삭제
사전을 생성한 후 삭제하려는 경우 사전의 특정 키 또는 전체 사전의 경우 이 경우 del 메소드를 사용할 수 있습니다.
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d['a']) del d['a'] print(d['a'])
출력은 다음과 같습니다
I am a
Traceback(가장 최근 호출 마지막):
파일 "E:/py project/Miscellaneous example/dict_demo.py", line 8, in
print (d[ 'a'])
KeyError: 'a'
위의 네 번째 줄에서는 먼저 a의 키 값을 출력한 다음 del을 사용하여 키 a를 삭제하고 다음에서 키 a에 다시 액세스합니다. 여섯 번째 줄에 오류가 보고됩니다 KeyError: 'a'
전체 사전을 한 번에 삭제하려면 어떻게 해야 하나요? 이 방법도 매우 간단합니다. 다섯 번째 줄의 코드를 약간 수정하고, d 뒤의 ['a']를 삭제하고, del 뒤의 사전 이름을 바로 따르기만 하면 됩니다.
del 메서드를 삭제하려면 사전의 pop() 메서드를 사용할 수도 있습니다. 삭제 시 반환 값이 없습니다. Pop은 삭제된 키의 키 값을 반환할 수도 있습니다.
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d['a']) print(d.pop('a', '123456')) print(d.pop('e', '这个键不存在,无法删除')) 输入结果如下: 我是a 我是a 这个键不存在,无法删除
세 번째 줄은 키 a의 값을 출력합니다
네 번째 줄은 키 a를 삭제하고 키 a의 값을 반환합니다. 이 키는 사전에 존재하므로 다음 '123456'은 not be return
th 다섯 줄이 e 키를 삭제하는데 이 키는 사전에 존재하지 않으므로 '이 키는 존재하지 않으며 삭제할 수 없습니다.'라는 오류 메시지가 반환됩니다.
4: 사전 지우기
때때로 우리가 삭제하고 싶은 것은 사전 전체가 아니라 사전의 내용뿐인 경우가 있는데, 이때 사전의 Clear 메소드를 이용하여 사전을 삭제하는 방법은 다음과 같습니다
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} d.clear() print(d) 输出如下: {}
입니다. 이때 d가 빈 사전이 된 것을 알 수 있습니다
5 :.get 키에 액세스하는 메소드
Dictionary ['키 이름'] 이 방법은 사전에 있는 키에 액세스하는 데 매우 편리하지만, 키가 없으면 프로그램이 종료되어 프로그램의 정상적인 작동을 방해합니다. 올바른 오류 메시지를 반환하고 프로그램을 계속 실행하려면 .get 메서드를 사용하여 액세스할 수 있습니다.
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d.get('e', '这个键不存在')) print(d['e']) 输入如下: 这个键不存在 Traceback (most recent call last): File "E:/py project/杂例/dict_demo.py", line 6, in <module> print(d['e']) KeyError: 'e'
세 번째와 네 번째 줄은 모두 사전에 존재하지 않는 키에 액세스하고, 세 번째 줄은 .get 메서드로 액세스하여 설정된 오류 메시지를 반환하며 프로그램은 계속됩니다. 네 번째 줄은 일반적인 방법으로 액세스하고 프로그램은 오류를 보고하고 종료됩니다.
6: in 연산자
가 사전에 있습니다. in 연산자를 사용하여 키가 사전에 있는지 확인할 수 있습니다. 키가 사전 dict에 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 아래의 간단한 코드를 보세요
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print('a' in d) print('e' in d)
출력 결과는 다음과 같습니다.
True
False
네 번째 줄, 키 'a'는 사전에 있고, True를 반환하고, 다섯 번째 줄, 키 'e '가 사전에 없으면 false를 반환합니다
7:获取字典中键值对
现在我们已经知道,字典是以键值对(键和它对应的键值)的形式存储数据的,那么有没有什么方法让我们一次性获取一个字典中所有的键值对呢?可以用items()方法
字典的 items() 方法以列表返回可遍历的(键, 值) 元组数组。意思就是返回一个列表,列表里面的每个元素都是元组,一个元祖就是字典里面的一对键值对。
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d.items()) for i, j in d.items(): print(i, j)
输出结果如下:
dict_items([('a', '我是a'), ('b', 1), ('c', [1, 2, 3]), ('d', (1, 2, 3))])
a 我是a
b 1
c [1, 2, 3]
d (1, 2, 3)
第三行,我们输出了items()的返回结果,可以清楚的看到每个元祖都是字典里面的一个键值对,可以使用list把它转换为一个列表,能帮助我们更好的访问里面的元素。
第五行,利用items()方法帮助我们遍历一个字典,每次输出一个键和它对应的键值。
8:获取键
items()方法可以帮助我们一次性获取所有的键值对,但如果我们只想要获取键呢?可以使用 keys() 方法
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d.keys()) l = list(d.keys()) print(l) print(l[1])
输出结果如下:
dict_keys(['a', 'b', 'c', 'd'])
['a', 'b', 'c', 'd']
b
第三行的返回结果中,只有键,第四行把返回结果转换成了列表,第五行对这个列表进行输出,第六行输出列表中党的第二个元素,也就是字典的第二个键
9:获取值
既然能值获取到字典中的键,当然也能只获取字典中的字。就是values()方法
d = {'a': '我是a', 'b': 1, 'c': [1, 2, 3], 'd': (1, 2, 3)} print(d.values()) l = list(d.values()) print(l) print(l[1])
输出结果如下:
dict_values(['我是a', 1, [1, 2, 3], (1, 2, 3)])
['我是a', 1, [1, 2, 3], (1, 2, 3)]
与keys方法类似,只不过返回结果是字典中所有的键值而已。
python学习网,免费的在线学习python平台,欢迎关注!
위 내용은 Python 사전의 기본 작업은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!