Python 사전 사용법에 대한 자세한 설명(예제 포함)

不言
풀어 주다: 2018-10-09 15:55:00
앞으로
3154명이 탐색했습니다.

이 기사는 Python 사전의 사용법에 대한 자세한 설명을 제공합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

사전의 표현 형식은 {key:value}이며, 키와 값은 콜론으로 구분되며, 각 키-값 쌍은 쉼표로 구분됩니다(예: {'name':'Superman') , 'age':500}, 키 유형은 불변 유형이어야 합니다. Python은 키에 대해 해시 함수 연산을 수행하고 계산 결과에 따라 값의 저장 주소를 결정하므로 사전이 저장됩니다. 질서의. 사전의 추가, 삭제, 수정은 다음과 같습니다.

Add

직접 할당을 통해 사전을 수정할 수 있습니다. 지정된 키가 존재하지 않는 경우 키 값 쌍이 마지막에 추가됩니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
dic['age'] = 20
dic['lover'] = '小昭'
print(dic)
输出:
{'name': '刘先生', 'age': 20, 'job': '工程师', 'marr': '已婚', 'lover': '小昭'}
로그인 후 복사

setdefaultv(key, value) 메소드를 사용하여 키-값 쌍을 추가할 수도 있습니다.
키가 있으면 변경되지 않습니다. 키가 없으면 끝에 새 키 값이 추가됩니다. 그리고 값이 주어지지 않으면 기본값은 None입니다
한 문장으로 요약하면 "있으면 무시하고 없으면 추가하세요"라고 요약하면 루프에서 사용할 수 있습니다

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
dic.setdefault('name','超人')
dic.setdefault('lover','小姐姐')
print(dic)
输出:
{'name': '刘先生', 'age': '39', 'job': '工程师', 'marr': '已婚', 'lover': '小姐姐'}
로그인 후 복사

Delete : pop()clear del

pop 지정된 키에 해당하는 값을 삭제하고, 삭제된 값을 반환하며, 해당 키가 없으면 오류가 발생합니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
res = dic.pop('name')
print(dic,'返回值:',res)
输出:
{'age': '39', 'job': '工程师', 'marr': '已婚'} 返回值: 刘先生
로그인 후 복사

pop()을 사용할 때 반환값을 지정하는 매개변수를 추가할 수도 있습니다. 주어진 키가 존재하지 않으면 주어진 반환값이 반환될 것입니다. 이 방법은 사용하기 매우 쉽고 오류를 방지할 수 있습니다. 키가 존재하지 않으면 삭제하고, 없으면 지정된 문자열을 반환합니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
res = dic.pop('小三儿','查无此人')
print('返回值:',res)
输出:
返回值: 查无此人
로그인 후 복사

clear는 사전을 지우는 데 사용됩니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
dic.clear()
print(dic)
输出:
{}
로그인 후 복사

del은 지정된 키 값을 삭제하는 데 사용됩니다. 사전 이름만 제공되면 전체 사전 개체가 삭제됩니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
del dic['name']
#del dic
print(dic)
输出:
{'age': '39', 'job': '工程师', 'marr': '已婚'}
로그인 후 복사

변경: "추가"를 참조하세요.

확인:

키를 직접 지정할 수 있습니다. 사전에 액세스하려면 해당 값이 반환되고, 그렇지 않으면 오류가 보고됩니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
a = dic['name']
print(a)
输出:
刘先生
로그인 후 복사

세 가지를 통해 모든 키, 값 및 키-값 쌍을 쿼리할 수 있습니다. 사전의 메소드: 키(), 값() 및 항목().

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
a = dic.keys()
b = dic.values()
c = dic.items()
print('keys():',a)
print('values():',b)
print('items():',c)
输出:
keys(): dict_keys(['name', 'age', 'job', 'marr'])
values(): dict_values(['刘先生', '39', '工程师', '已婚'])
items(): dict_items([('name', '刘先生'), ('age', '39'), ('job', '工程师'), ('marr', '已婚')])
로그인 후 복사

for 루프를 사용하여 이 세 가지 방법을 순회하여 각각 키 값을 얻을 수도 있습니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
for k in dic.keys():
    print(k)
输出:
name
age
job
marr
로그인 후 복사
dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
for v in dic.values():
    print(v)
输出:
刘先生
39
工程师
已婚
로그인 후 복사
dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
for k,v in dic.items():
    print(k,v)
输出:
name 刘先生
age 39
job 工程师
marr 已婚
로그인 후 복사

사전의 다른 방법

len(dict)
사전 요소의 수를 계산하세요.
str(dict)
사전을 다음과 같은 문자열로 변환합니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
a = str(dic)
import re
res = re.search(r'name',a)
print(res)
输出:
<_sre.SRE_Match object; span=(2, 6), match=&#39;name&#39;>

因为把dic转化为字符串并赋值给a,所以可以对a进行正则匹配
而如果直接对dic进行正则匹配则报错,因为dic不是字符串类型。
로그인 후 복사

copy()
사전의 얕은 복사본을 반환합니다.

dict.fromkeys(seq,'value')
시퀀스 seq의 요소는 사전의 키로 사용되며, 값은 사전을 생성하기 위한 초기 값입니다. 매개변수 값이 지정되지 않으면 각 키에 해당하는 값은 "클래스 메서드"입니다. 이므로 사용 시 앞에 dict를 추가해야 합니다.

seq = ['a',1,'b']
a = dict.fromkeys(seq,'value')
print(a)
输出:
{'a': 'value', 1: 'value', 'b': 'value'}
로그인 후 복사

get(key, default=None)
지정된 키의 값을 반환하거나, 키가 존재하지 않는 경우 기본값을 반환합니다.

popitem()
사전에서 키-값 쌍을 삭제하고 반환합니다. 사전이 비어 있으면 오류가 보고됩니다.

dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
res1 = dic.popitem()
res2 = dic.popitem()
res3 = dic.popitem()
print(res1,res2,res3,dic)
输出:
('marr', '已婚') ('job', '工程师') ('age', '39') {'name': '刘先生'}
로그인 후 복사

update([other])
키-값 쌍으로 사전을 업데이트합니다. 키가 이미 존재하는 경우 해당 값은 다음과 같은 다른 사전 또는 반복 가능한 키-값 쌍으로 대체됩니다.

rreee

위 내용은 Python 사전 사용법에 대한 자세한 설명(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿