python 字典的添加

 2025-08-31  阅读 92  评论 0

摘要:1. 直接赋值
通过指定键进行赋值,若键不存在则新增,存在则更新值。
python
d = {'name': 'Alice', 'age': 30}
d['city'] = 'New York

1. 直接赋值

通过指定键进行赋值,若键不存在则新增,存在则更新值。

python 字典的添加

python

d = {'name': 'Alice', 'age': 30}

d['city'] = 'New York' 添加新键值对

print(d) {'name': 'Alice', 'age': 30, 'city': 'New York'}

2. `update` 方法

批量合并字典或键值对,已存在的键会被覆盖。

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'}

3. 合并运算符 `|`(Python 3.9+)

合并两个字典生成新字典,原字典不变;重复键的值以后者为准。

python

d1 = {'a': 1, 'b': 2}

d2 = {'b': 3, 'c': 4}

merged = d1 | d2 新字典

print(merged) {'a': 1, 'b': 3, 'c': 4}

4. 原地合并运算符 `|=`(Python 3.9+)

将右侧字典合并到左侧字典中,类似 `update`。

python

d1 = {'a': 1, 'b': 2}

d2 = {'b': 3, 'c': 4}

d1 |= d2 修改 d1

print(d1) {'a': 1, 'b': 3, 'c': 4}

5. `setdefault` 方法

仅在键不存在时添加键值对,避免覆盖原有值。

python

d = {'name': 'Alice', 'age': 30}

d.setdefault('city', 'New York') 键不存在,添加

d.setdefault('name', 'Bob') 键存在,不修改

print(d) {'name': 'Alice', 'age': 30, 'city': 'New York'}

6. 条件判断添加

手动检查键是否存在后再添加。

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删除,添加请注明来意。

原文链接:https://www.6g9.cn/bkkp/dd264Az5UUlJVAA.html

发表评论:

关于我们
知妳网是一个专注于知识成长与生活品质的温暖社区,致力于提供情感共鸣、实用资讯与贴心服务。在这里,妳可以找到相关的知识、专业的建议,以及提升自我的优质内容。无论是职场困惑、情感心事,还是时尚美妆、健康生活,知妳网都能精准匹配妳的需求,陪伴妳的每一步成长。因为懂妳,所以更贴心——知妳网,做妳最知心的伙伴!
联系方式
电话:
地址:广东省中山市
Email:admin@qq.com

Copyright © 2022 知妳网 Inc. 保留所有权利。 Powered by

页面耗时0.0586秒, 内存占用1.7 MB, 访问数据库19次