字典是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}
如果想學習軟件測試,就快加入:893694563,群內學軟件測試,分享技術和學習資料,陪你一起成長和學習。
