通过指定键进行赋值,若键不存在则新增,存在则更新值。
python
d = {'name': 'Alice', 'age': 30}
d['city'] = 'New York' 添加新键值对
print(d) {'name': 'Alice', 'age': 30, 'city': 'New York'}
批量合并字典或键值对,已存在的键会被覆盖。
python
d = {'name': 'Alice', 'age': 30}
通过字典合并
d.update({'city': 'New York', 'country': 'USA'})
或通过键值对列表
d.update([('city', 'New York'), ('country', 'USA')])
或通过关键字参数(键需为合法标识符)
d.update(city='New York', country='USA')
print(d) {'name': 'Alice', 'age': 30, 'city': 'New York', 'country': 'USA'}
合并两个字典生成新字典,原字典不变;重复键的值以后者为准。
python
d1 = {'a': 1, 'b': 2}
d2 = {'b': 3, 'c': 4}
merged = d1 | d2 新字典
print(merged) {'a': 1, 'b': 3, 'c': 4}
将右侧字典合并到左侧字典中,类似 `update`。
python
d1 = {'a': 1, 'b': 2}
d2 = {'b': 3, 'c': 4}
d1 |= d2 修改 d1
print(d1) {'a': 1, 'b': 3, 'c': 4}
仅在键不存在时添加键值对,避免覆盖原有值。
python
d = {'name': 'Alice', 'age': 30}
d.setdefault('city', 'New York') 键不存在,添加
d.setdefault('name', 'Bob') 键存在,不修改
print(d) {'name': 'Alice', 'age': 30, 'city': 'New York'}
手动检查键是否存在后再添加。
python
d = {'name': 'Alice', 'age': 30}
if 'city' not in d:
d['city'] = 'New York'
print(d) {'name': 'Alice', 'age': 30, 'city': 'New York'}
| 方法 | 特点 |
||-|
| 直接赋值 `d[key]` | 最简单,适合单个键值对操作。 |
| `update` | 批量添加或更新,支持多种参数类型(字典、列表、关键字)。 |
| `|` 和 `|=` | 合并字典(Python 3.9+),分别生成新字典和原地修改。 |
| `setdefault` | 安全添加,避免覆盖已有键。 |
| 条件判断 | 灵活控制添加逻辑,适合复杂场景。 |
根据具体需求选择合适的方法,例如快速更新用赋值,批量操作用 `update`,避免覆盖用 `setdefault` 或条件判断。
版权声明: 知妳网保留所有权利,部分内容为网络收集,如有侵权,请联系QQ793061840删除,添加请注明来意。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态