从字典中移除项 (键:值)
del
del
关键字可用于移除 键: 值
对。
python
>>> d = {"yr": 20, "name": "Ed",
... 18: True}
>>> del d["name"]
>>> d
{'yr': 20, 18: True}
clear()
clear()
方法可用于清除字典的所有值。
python
>>> d = {"yr": 20, "name": "Ed",
... 18: True}
>>> d.clear()
>>> d
{}
pop()
pop(key[, default])
方法可用于移除 键: 值
对。
如果键在字典中不存在,该方法返回用户提供的参数 default
的值。如果没有提供 default
且键不存在,则引发 KeyError
。
python
>>> d = {"yr": 20, "name": "Ed",
... 18: True}
>>> d.pop("name")
'Ed'
>>> d
{'yr': 20, 18: True}
>>> d.pop("name") # 再次 pop 会报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'name'
>>> d.pop("name", "Punk") # 提供默认值,键不存在时返回默认值
'Punk'
popitem()
popitem()
可用于以 LIFO(后进先出)顺序破坏性地迭代字典,移除并返回一个 (键, 值)
对。在 Python 3.7+ 中,它移除最后插入的项。在 3.7 之前,移除任意项。
python
>>> d = {"yr": 20, "name": "Ed",
... 18: True}
>>> d.popitem() # 移除最后插入的 (18, True)
(18, True)
>>> d.popitem() # 移除 'name': 'Ed'
('name', 'Ed')
>>> d.update({"name": "py"})
>>> d
{'yr': 20, 'name': 'py'}
>>> d.popitem() # 移除 'name': 'py'
('name', 'py')
>>> d.popitem() # 移除 'yr': 20
('yr', 20)
>>> d
{}