>  기사  >  백엔드 개발  >  Python 사전의 기본 작업은 무엇입니까?

Python 사전의 기본 작업은 무엇입니까?

尚
원래의
2020-01-15 10:25:2714799검색

Python 사전의 기본 작업은 무엇입니까?

사전은 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)}
7f7a529d7c829355be039cf711e6e765
나는 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 4225fa317875f3e92281a7b1a5733569
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[&#39;e&#39;])
KeyError: &#39;e&#39;

세 번째와 네 번째 줄은 모두 사전에 존재하지 않는 키에 액세스하고, 세 번째 줄은 .get 메서드로 액세스하여 설정된 오류 메시지를 반환하며 프로그램은 계속됩니다. 네 번째 줄은 일반적인 방법으로 액세스하고 프로그램은 오류를 보고하고 종료됩니다.

6: in 연산자

가 사전에 있습니다. in 연산자를 사용하여 키가 사전에 있는지 확인할 수 있습니다. 키가 사전 dict에 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 아래의 간단한 코드를 보세요

d = {&#39;a&#39;: &#39;我是a&#39;, &#39;b&#39;: 1, &#39;c&#39;: [1, 2, 3], &#39;d&#39;: (1, 2, 3)}


print(&#39;a&#39; in d)
print(&#39;e&#39; in d)

출력 결과는 다음과 같습니다.

True
False

네 번째 줄, 키 'a'는 사전에 있고, True를 반환하고, 다섯 번째 줄, 키 'e '가 사전에 없으면 false를 반환합니다

7:获取字典中键值对

现在我们已经知道,字典是以键值对(键和它对应的键值)的形式存储数据的,那么有没有什么方法让我们一次性获取一个字典中所有的键值对呢?可以用items()方法

字典的 items() 方法以列表返回可遍历的(键, 值) 元组数组。意思就是返回一个列表,列表里面的每个元素都是元组,一个元祖就是字典里面的一对键值对。

d = {&#39;a&#39;: &#39;我是a&#39;, &#39;b&#39;: 1, &#39;c&#39;: [1, 2, 3], &#39;d&#39;: (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 = {&#39;a&#39;: &#39;我是a&#39;, &#39;b&#39;: 1, &#39;c&#39;: [1, 2, 3], &#39;d&#39;: (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 = {&#39;a&#39;: &#39;我是a&#39;, &#39;b&#39;: 1, &#39;c&#39;: [1, 2, 3], &#39;d&#39;: (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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.