字典是Python中很重要的数据类型,我们在日后的学习中,会经常遇到。因此,有8个常用的内置函数,我觉得你一定需要知道。
d.clear()
含义:清除字典。
- >>> d = {'a': 10, 'b': 20, 'c': 30}
- >>> d
- {'a': 10, 'b': 20, 'c': 30}
- >>> d.clear()
- >>> d
- {}
d.get()
含义:如果键存在于字典中,则返回该键的值。
d.get()搜索字典d的,如果发现返回关联的值。如果未找到,则返回None。
- >>> d = {'a': 10, 'b': 20, 'c': 30}
- >>> print(d.get('b'))
- 20
- >>> print(d.get('z'))
- None
如果未找到,并且指定了可选参数,则返回该值而不是None。
- >>> print(d.get('z', -1))
- -1
d.items()
含义:返回字典中的键值对列表。
d.items()返回包含键值对的元组列表。每个元组中的第一项是键,第二项是键的值。
- >>> d = {'a': 10, 'b': 20, 'c': 30}
- >>> d
- {'a': 10, 'b': 20, 'c': 30}
- >>> list(d.items())
- [('a', 10), ('b', 20), ('c', 30)]
- >>> list(d.items())[1][0]
- 'b'
- >>> list(d.items())[1][1]
- 20
d.keys()
含义:返回字典中的键列表。
- >>> d = {'a': 10, 'b': 20, 'c': 30}
- >>> d
- {'a': 10, 'b': 20, 'c': 30}
- >>> list(d.keys())
- ['a', 'b', 'c']
d.values()
含义:返回字典中的值列表。
- >>> d = {'a': 10, 'b': 20, 'c': 30}
- >>> d
- {'a': 10, 'b': 20, 'c': 30}
- >>> list(d.values())
- [10, 20, 30]
即使值重复,也会被多次返回。
- >>> d = {'a': 10, 'b': 10, 'c': 10}
- >>> d
- {'a': 10, 'b': 10, 'c': 10}
- >>> list(d.values())
- [10, 10, 10]
d.pop()
含义:从字典中删除一个键,如果它存在,并返回它的值。
如果存在于字典中,则d.pop()删除并返回其关联值。如果不存在,则引发异常KeyError。
- >>> d = {'a': 10, 'b': 20, 'c': 30}
- >>> d.pop('b')
- 20
- >>> d
- {'a': 10, 'c': 30}
- >>> d.pop('z')
- Traceback (most recent call last):
- File "<pyshell#4>", line 1, in <module>
- d.pop('z')
- KeyError: 'z'
如果不在字典中,并且指定了可选参数,则返回该值,并且不会引发异常。
- >>> d = {'a': 10, 'b': 20, 'c': 30}
- >>> d.pop('z', -1)
- -1
- >>> d
- {'a': 10, 'b': 20, 'c': 30}
d.popitem()
含义:从字典中删除键值对。
d.popitem()用于删除字典中,最后面的键值对。直到字典被删除至空,则d.popitem()引发KeyError异常。
- >>> d = {'a': 10, 'b': 20, 'c': 30}
- >>> d.popitem()
- ('c', 30)
- >>> d
- {'a': 10, 'b': 20}
- >>> d.popitem()
- ('b', 20)
- >>> d
- {'a': 10}
- >>> d = {}
- >>> d.popitem()
- Traceback (most recent call last):
- File "<pyshell#11>", line 1, in <module>
- d.popitem()
- KeyError: 'popitem(): dictionary is empty'
注意:在低于 3.6 的 Python 版本中,popitem()将返回任意(随机)键值对,因为Python 字典在 3.6 版本之前是无序的。
d.update()
含义:将字典与另一个字典或可迭代的键值对合并。
- >>> d1 = {'a': 10, 'b': 20, 'c': 30}
- >>> d2 = {'b': 200, 'd': 400}
- >>> d1.update(d2)
- >>> d1
- {'a': 10, 'b': 200, 'c': 30, 'd': 400}