>백엔드 개발 >파이썬 튜토리얼 >Python의 여러 사전 방법에 대한 자세한 설명

Python의 여러 사전 방법에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-03-08 11:14:142179검색

사전 만들기

>>> phonebook={'Alice':'2897','Alan':'0987','Jery':'6754'}

dict 함수

>>> items=[('name','Gumby'),('age',42)]
>>> d=dict(items)
>>> d
{'age': 42, 'name': 'Gumby'}
>>> d['name']
'Gumby'
>>> d=dict(name='July',age=24)
>>> d
{'age': 24, 'name': 'July'}

기본 사전 작업(대부분 시퀀스와 유사)

len(d)은 d(키-값 번호)의 항목을 반환합니다. 쌍)

d[k]는 키 k와 연관된 값을 반환합니다.

d[k]=v 값 v를 k와 연관시킵니다.

del d[ k] 삭제 k 키가 있는 항목

k in d d에 k 키가 있는 항목이 있는지 확인

형식 문자열

>>> phonebook
{'Jery': '6754', 'Alice': '2897', 'Alan': '0987'}
>>> "Alan's phone number is %(Alan)s." % phonebook
"Alan's phone number is 0987."

방법:

clear가 모두 삭제 사전의 항목

>>> d={}
>>> d['name']='Gumby'
>>> d['age']=42
>>> d
{'age': 42, 'name': 'Gumby'}
>>> d.clear()
>>> d
{}

>>> x={}
>>> y=x #x和y对应同一个字典
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x={} #x关联到新的空字典
>>> y
{'key': 'value'}

>>> x={}
>>> y=x
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x.clear()
>>> y
{}

copy는 동일한 키-값 쌍(얕은 복사본)을 가진 새 사전을 반환합니다.

>>> x={'name':'admin','machines':['foo','bar','bax']}
>>> y=x.copy()
>>> y['name']='yhk' #替换值,原字典不受影响
>>> y['machines'].remove('bar') #修改了某个值(原地修改不是替换),原字典会改变
>>> y
{'name': 'yhk', 'machines': ['foo', 'bax']}
>>> x
{'name': 'admin', 'machines': ['foo', 'bax']}

deepcopy deep copy

>>> from copy import deepcopy
>>> d={}
>>> d['name']=['Aly','Bob']
>>> c=d.copy()
>>> e=deepcopy(d)
>>> d['name'].append('Ageal')
>>> c
{'name': ['Aly', 'Bob', 'Ageal']}
>>> e
{'name': ['Aly', 'Bob']}

fromkeys는 지정된 키를 사용하여 새 사전을 만듭니다. 각 키의 기본 해당 값은 none입니다.

>>> {}.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'],'(unknown)')
{'age': '(unknown)', 'name': '(unknown)'}

get은 사전 항목

>>> d={}
>>> print d['name']

Traceback (most recent call last):
  File "<pyshell#60>", line 1, in <module>
    print d[&#39;name&#39;]
KeyError: &#39;name&#39;
>>> print d.get(&#39;name&#39;)
None
>>> d.get(&#39;name&#39;,&#39;N/A&#39;)
&#39;N/A&#39;
>>> d[&#39;name&#39;]=&#39;Eric&#39;
>>> d.get(&#39;name&#39;)
&#39;Eric&#39;

has_key에 액세스하고 지정된 키가 사전에 있는지 확인합니다( python3.0은 그렇지 않습니다). 이 함수가 있음)

>>> d={}
>>> d.has_key(&#39;name&#39;)
False
>>> d[&#39;name&#39;]=&#39;Eric&#39;
>>> d.has_key(&#39;name&#39;)
True

items 및 iteritems

items는 목록의 모든 사전 항목을 반환합니다. 이 목록 항목의 각 항목은 (키, 값)

iteritems에서 반환됩니다. 반복자 객체

>>> d={&#39;title&#39;:&#39;My Time!&#39;,&#39;url&#39;:&#39;http://www,python.org&#39;,&#39;spam&#39;:0}
>>> d.items()
[(&#39;url&#39;, &#39;http://www,python.org&#39;), (&#39;spam&#39;, 0), (&#39;title&#39;, &#39;My Time!&#39;)]
>>> s=d.iteritems()
>>> s
<dictionary-itemiterator object at 0x0000000003068728>
>>> list(s)
[(&#39;url&#39;, &#39;http://www,python.org&#39;), (&#39;spam&#39;, 0), (&#39;title&#39;, &#39;My Time!&#39;)]

keys 및 iterkeys 키는 사전의 키를 목록으로 반환합니다. iterkeys는 키에 대한 반복자를 반환합니다.

pop 제거

>>> d={&#39;x&#39;:1,&#39;y&#39;:2}
>>> d.pop(&#39;x&#39;)
>>> d
{&#39;y&#39;: 2}

popitem 무작위 항목 제거

>>> d={&#39;x&#39;:1,&#39;y&#39;:2}
>>> d.popitem()
(&#39;y&#39;, 2)
>>> d
{&#39;x&#39;: 1}

setdefault 키가 존재하지 않으면 기본값을 반환하고 해당 사전을 업데이트

>>> d={}
>>> d.setdefault(&#39;name&#39;,&#39;N/A&#39;)
&#39;N/A&#39;
>>> d
{&#39;name&#39;: &#39;N/A&#39;}
>>> d[&#39;name&#39;]=&#39;Gumby&#39;
>>> d.setdefault(&#39;name&#39;,&#39;N/A&#39;)
&#39;Gumby&#39;
>>> d
{&#39;name&#39;: &#39;Gumby&#39;}

update 하나의 사전 항목을 사용하여 다른 사전을 업데이트

>>> d={&#39;x&#39;:1,&#39;y&#39;:2,&#39;z&#39;:3}
>>> f={&#39;y&#39;:5}
>>> d.update(f)
>>> d
{&#39;y&#39;: 5, &#39;x&#39;: 1, &#39;z&#39;: 3}

값 및 itervalues ​​​​alues ​​​​사전의 값을 반환합니다(itervalues ​​​​값의 반복자를 반환합니다)

>>> d={}
>>> d[1]=1
>>> d[2]=2
>>> d[3]=3
>>> d.values()
[1, 2, 3]


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

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