当前位置:首页>python>Python 字典超实用技巧:添加/修改元素,一看就会!

Python 字典超实用技巧:添加/修改元素,一看就会!

  • 2026-10-11 07:29:51
Python 字典超实用技巧:添加/修改元素,一看就会!

字典(dict)是 Python 中最常用、最高效的数据结构,核心就是「键值对」(key: value),就像我们用的字典——键(key)是查找的字,值(value)是字的解释。

今天用最简单的例子,一次性讲透字典添加元素、修改元素的所有用法,新手也能直接复制用!


一、先认识一个基础字典

先定义一个简单的用户信息字典,方便后面举例:

# 定义一个基础字典
user = {
"name": "小明",
"age": 20,
"gender": "男"
}
print(user)
# 输出:{'name': '小明', 'age': 20, 'gender': '男'}

二、字典添加元素(3种常用方法)

1. 最常用:直接赋值(最简单)

语法:字典名[新键] = 新值如果键不存在,就是添加新元素; 如果键已存在,就是修改元素。

user = {"name": "小明", "age": 20}

# 添加新键值对:城市
user["city"] = "北京"
# 添加新键值对:职业
user["job"] = "学生"

print(user)
# 输出:{'name': '小明', 'age': 20, 'city': '北京', 'job': '学生'}

✅ 适用场景:日常开发90%的场景都用这个,简单直观!


2. 批量添加:update() 方法

一次添加多个键值对,适合批量更新字典。语法:字典名.update({键1:值1, 键2:值2})

user = {"name": "小明", "age": 20}

# 一次性添加多个元素
user.update({
"city": "上海",
"job": "程序员",
"hobby": "打篮球"
})

print(user)
# 输出:{'name': '小明', 'age': 20, 'city': '上海', 'job': '程序员', 'hobby': '打篮球'}

✅ 适用场景:需要一次性加很多键值对时,代码更整洁。


3. 安全添加:setdefault() 方法

这个方法很特别:

  • 键不存在:添加元素,返回新值
  • 键已存在:不修改,返回原有值
user = {"name": "小明", "age": 20}

# 键不存在 → 添加成功
user.setdefault("city", "广州")
print(user)  # {'name': '小明', 'age': 20, 'city': '广州'}

# 键已存在 → 不修改,返回原值
user.setdefault("age", 30)
print(user)  # {'name': '小明', 'age': 20, 'city': '广州'}

✅ 适用场景:怕覆盖原有数据,只想「有则不动、无则添加」。


三、字典修改元素(2种常用方法)

修改元素的核心:键必须已存在,否则会变成添加!

1. 最常用:直接赋值修改

语法:字典名[已有键] = 新值

user = {"name": "小明", "age": 20}

# 修改年龄
user["age"] = 25
# 修改姓名
user["name"] = "小红"

print(user)
# 输出:{'name': '小红', 'age': 25}

2. 批量修改:update() 方法

和批量添加用法一样,适合一次性改多个值:

user = {"name": "小明", "age": 20, "city": "北京"}

# 批量修改
user.update({
"age": 26,
"city": "深圳"
})

print(user)
# 输出:{'name': '小明', 'age': 26, 'city': '深圳'}

四、1张表总结核心用法

操作
语法
特点
单个添加/修改
dict[key] = value
最简单、最常用
批量添加/修改
dict.update({...})
一次处理多个键值对
安全添加(不覆盖)
dict.setdefault(key, value)
键存在则不修改

五、新手必避坑!

  1. 字典的键(key)不能重复,重复键会自动覆盖旧值;
  2. 键可以是:字符串、数字、元组(不可变类型),不能是列表;
  3. 修改元素时,一定要确保键存在,否则会变成「添加元素」。

总结

  1. 添加元素:直接赋值、update()、setdefault(),按需选择;
  2. 修改元素:直接赋值、update(),键必须已存在;
  3. 日常开发优先用直接赋值,简单好记,代码最清爽!

最新文章

随机文章