字典操作
成员检查 (Membership)
in
关键字可用于测试字典中是否存在某个 键
。
python
>>> d = {"yr": 20, 18: True}
>>> "yr" in d
True
类似地,not in
可用于确定 键
的缺失。
python
>>> "name" not in d
True
合并 (Union) (Python 3.9+)
|
(合并)运算符可用于合并两个字典。
python
>>> d = {"yr": 20, 18: True}
>>> n = {"name": "Ed"}
>>> d | n
{'yr': 20, 18: True, 'name': 'Ed'}
如果两个操作数(字典)之间存在公共键,则右操作数的值优先。
python
>>> d = {"yr": 20, 18: True}
>>> n = {"yr": 15, "name": "Ed"}
>>> d | n
{'yr': 15, 18: True, 'name': 'Ed'}
在上面的示例中,d
和 n
共享一个公共键 yr
。n
中与 yr
对应的值 (15
) 优先。
|=
(合并)增强赋值运算符可用于使用另一个字典或 (键, 值) 对的可迭代对象中的键和值来更新字典。
python
>>> d = {"book": "Python", "year": 1990}
>>> dnew = {"author": "Guido"}
>>> d |= dnew
>>> d
{'book': 'Python', 'year': 1990, 'author': 'Guido'}
如果两个字典共享一个公共键,则右操作数中与该键对应的值是更新后的值。
python
>>> d = {"book": "Python", "year": 1990}
>>> dnew = {"author": "Guido", "year": 2000}
>>> d |= dnew
>>> d
{'book': 'Python', 'year': 2000, 'author': 'Guido'}
在上面的示例中,d
和 dnew
共享一个公共键 year
。d
中与 year
对应的值 (1990
) 被新值 (2000
) 更新。
如果右操作数是可迭代对象而不是字典,|=
运算符也适用,如下例所示。
python
>>> d = {"book": "Python", "year": 1990}
>>> inew = [("author", "Guido"), ("year", 2000)]
>>> d |= inew
>>> d
{'book': 'Python', 'year': 2000, 'author': 'Guido'}