字典
字典旨在让你能够轻松地找到特定的键,以获悉其值。
字典的创建和使用
方法一 直接创建
>>> phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
{'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
方法二 从其它数据结构创建
>>> items = [('name', 'Gumby'), ('age', 42)]
>>> d = dict(items)
>>> d
{'age': 42, 'name': 'Gumby'}
方法三 关键字实参创建
>>> d = dict(name='Gumby', age=42)
>>> d
{'age': 42, 'name': 'Gumby'}
字典的基本操作
>>> d = dict(key1='value1', key2 = 'value2', key3 = 'value3',key4='value4')
>>> len(d)
4
>>> d['key2']
'value2'
>>> d['key2'] = 'valuetest'
>>> d
{'key1': 'value1', 'key2': 'valuetest', 'key3': 'value3', 'key4': 'value4'}
>>> del d['key2']
>>> d
{'key1': 'value1', 'key3': 'value3', 'key4': 'value4'}
>>> 'key2' in d
False
字典方法
- clear
>>> phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
>>> phonebook.clear()
>>> phonebook
{}
- copy
方法copy返回一个新字典,其包含的键值对与原来的字典相同(这个方法执行的是浅复制, 因为值本身是原件,而非副本)。
>>> x = {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
>>> y = x.copy()
>>> y['username'] = 'mlh'
>>> y['machines'].remove('bar')
>>> print(y)
>>> print(x)
{'username': 'mlh', 'machines': ['foo', 'baz']}
{'username': 'admin', 'machines': ['foo', 'baz']}
- deepcopy
>>> from copy import deepcopy
>>> d = {}
>>> d['names'] = ['Alfred', 'Bertrand']
>>> c = d.copy()
>>> dc = deepcopy(d)
>>> d['names'].append('Clive')
>>> print(c)
>>> print(dc)
{'names': ['Alfred', 'Bertrand', 'Clive']}
{'names': ['Alfred', 'Bertrand']}
- fromkeys
>>> {}.fromkeys(['name', 'age'])
{'name': None, 'age': None}
>>> dict.fromkeys(['name', 'age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'],'(unknown)')
{'name': '(unknown)', 'age': '(unknown)'}
- get
>>> dict = {'key1':'value1','key2':'value2','key3':'value3'}
>>> dict.get('keyx')
None
- items
>>> d = {'title': 'Python Web Site', 'url': 'http://www.python.org', 'spam': 0}
>>> d.items()
dict_items([('title', 'Python Web Site'), ('url', 'http://www.python.org'), ('spam', 0)])
>>> d = {'title': 'Python Web Site', 'url': 'http://www.python.org', 'spam': 0}
>>> a = list(d.items())
>>> a[0]
('title', 'Python Web Site')
- keys
>>> dict = {'key1':'value1','key2':'value2','key3':'value3'}
>>> a = list(dict.keys())
>>> a[0]
'key1'
- pop
方法pop可用于获取与指定键相关联的值,并将该键值对从字典中删除
>>> dict = {'key1':'value1','key2':'value2','key3':'value3'}
>>> dict.pop('key2')
'value2'
>>> dict
{'key1': 'value1', 'key3': 'value3'}
- popitem
popitem随机地弹出一个字典项
>>> d = {'url': 'http://www.python.org', 'spam': 0, 'title': 'Python Web Site'}
>>> d.popitem()
('url', 'http://www.python.org')
>>> d
{'spam': 0, 'title': 'Python Web Site'}
- setdefault
获取与指定键相关联的值,若字典不包含指定的键,则在字典中添加指定的键值对。
>>> d = {}
>>> d.setdefault('name', 'N/A')
'N/A'
>>> d
{'name': 'N/A'}
>>> d['name'] = 'Gumby'
>>> d.setdefault('name', 'N/A')
'Gumby'
>>> d
{'name': 'Gumby'}
- update
方法update使用一个字典中的项来更新另一个字典
>>> d = {'title': 'Python Web Site',\
'url': 'http://www.python.org',\
'changed': 'Mar 14 22:09:15 MET 2016',}
>>> x = {'title': 'Python Language Website'}
>>> d.update(x)
>>> d
{'title': 'Python Language Website',
'url': 'http://www.python.org',
'changed': 'Mar 14 22:09:15 MET 2016'}
- values
方法values返回一个由字典中的值组成的字典视图
>>> d = {}
>>> d[1] = 1
>>> d[2] = 2
>>> d[3] = 3
>>> d[4] = 1
>>> d.values()
dict_values([1, 2, 3, 1])
网友评论