Home >Backend Development >Python Tutorial >Detailed explanation of several methods of dictionaries in Python

Detailed explanation of several methods of dictionaries in Python

高洛峰
高洛峰Original
2017-03-08 11:14:142226browse

Create dictionary

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

dict function

>>> 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'}

Basic dictionary operations (mostly similar to sequences)

len(d) returns the number of items (key-value pairs) in d

d[k] returns the number associated with the key The value on k

d[k]=v associates the value v to k

del d[k] deletes the item with key k

k in d checks if there is an item with key k in d

Format string

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

Methods:

clear Clear all items in the dictionary

>>> 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 Return a new dictionary with the same key-value pairs (shallow 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 using the given Create a new dictionary with the key, and the default corresponding value of each key is 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 accesses the dictionary item

>>> 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 to check whether there is the given key in the dictionary (python3.0 does not have this function)

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

items and iteritems

items returns all dictionary items as a list, each item in these list items comes from (key, value)

iteritems returns an iterator object

>>> 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 and iterkeys keys return the keys in the dictionary Returns as a list iterkeys returns an iterator over the key

pop removes

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

popitem removes a random item

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

setdefault When the key does not exist, returns the default value and updates the corresponding dictionary

>>> 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 utilizes a dictionary item Update another dictionary

>>> 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}

values ​​and itervalues ​​alues ​​return the value in the dictionary (itervalues ​​returns the iterator of the value)

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


The above is the detailed content of Detailed explanation of several methods of dictionaries in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn