当前位置:首页>python>Python 字典遍历全攻略:5种常用方法+实战案例

Python 字典遍历全攻略:5种常用方法+实战案例

  • 2026-10-11 07:14:06
Python 字典遍历全攻略:5种常用方法+实战案例

字典(dict)作为Python中最常用的数据结构,以键值对形式存储数据,灵活高效。但很多新手在遍历字典时,总会纠结:到底该遍历键、值,还是键值对?

今天一次性把Python字典遍历的所有常用方法讲透,配详细代码+注释+运行结果,新手也能直接抄作业!

一、先认识Python字典

字典是无序(Python3.7+有序)、可变、键唯一的集合,基本格式:

# 定义一个示例字典(用户信息)
user_dict = {
"name": "张三",
"age": 25,
"gender": "男",
"city": "北京"
}

后续所有遍历案例,都用这个字典演示,方便对比学习。


二、5种最常用的字典遍历方法

方法1:只遍历「键」(keys())

适用场景:只需要获取字典的所有键,不需要值。

# 方式1:默认遍历(简写,推荐)
print("--- 简写遍历键 ---")
for key in user_dict:
    print(f"键:{key}")

# 方式2:显式调用keys()(更直观)
print("\n--- 调用keys()遍历键 ---")
for key in user_dict.keys():
    print(f"键:{key}")

运行结果:

--- 简写遍历键 ---
键:name
键:age
键:gender
键:city

--- 调用keys()遍历键 ---
键:name
键:age
键:gender
键:city

方法2:只遍历「值」(values())

适用场景:只需要获取字典的所有值,不需要键。

# 遍历字典所有值
print("--- 遍历字典的值 ---")
for value in user_dict.values():
    print(f"值:{value}")

运行结果:

--- 遍历字典的值 ---
值:张三
值:25
值:男
值:北京

方法3:同时遍历「键+值」(items(),最常用!)

适用场景:90%的业务场景都用这个,同时获取键和值,代码最简洁。

# 同时遍历键和值(推荐首选)
print("--- 同时遍历键和值 ---")
for key, value in user_dict.items():
    print(f"键:{key},值:{value}")

运行结果:

--- 同时遍历键和值 ---
键:name,值:张三
键:age,值:25
键:gender,值:男
键:city,值:北京

方法4:通过「键」获取「值」

适用场景:需要先判断键是否存在,再取值。

# 先遍历键,再通过键取值
print("--- 通过键获取值 ---")
for key in user_dict:
# 字典[键] 语法获取值
    value = user_dict[key]
    print(f"键:{key},值:{value}")

运行结果:和方法3一致。

方法5:带索引的遍历(enumerate())

适用场景:需要给遍历结果加序号,比如展示列表式数据。

# 遍历键值对+索引(序号)
print("--- 带索引遍历字典 ---")
for index, (key, value) in enumerate(user_dict.items(), start=1):
    print(f"第{index}项 → 键:{key},值:{value}")

运行结果:

--- 带索引遍历字典 ---
第1项 → 键:name,值:张三
第2项 → 键:age,值:25
第3项 → 键:gender,值:男
第4项 → 键:city,值:北京

三、进阶:嵌套字典的遍历(实战必备)

工作中经常遇到字典里套字典的场景,比如多层用户信息,遍历方法如下:

# 嵌套字典(多层键值对)
nested_dict = {
"user1": {"name": "张三", "age": 25},
"user2": {"name": "李四", "age": 30}
}

# 遍历嵌套字典
print("--- 遍历嵌套字典 ---")
for user_id, user_info in nested_dict.items():
    print(f"用户ID:{user_id}")
# 继续遍历内层字典
for key, value in user_info.items():
        print(f"  {key}:{value}")

运行结果:

--- 遍历嵌套字典 ---
用户ID:user1
  name:张三
  age:25
用户ID:user2
  name:李四
  age:30

四、遍历小技巧

  1. 遍历前判断键是否存在
if"name"in user_dict:
    print(f"姓名:{user_dict['name']}")
  1. 遍历并修改字典
# 给所有年龄+1
for key in user_dict:
if key == "age":
        user_dict[key] += 1
print(user_dict)  # {'name': '张三', 'age': 26, 'gender': '男', 'city': '北京'}

五、总结:该选哪种遍历方法?

遍历需求
推荐方法
代码
只需要键
简写/keys()
for key in dict
只需要值
values()
for value in dict.values()
同时要键值
items()(首选)
for k,v in dict.items()
带序号遍历
enumerate()
for i,(k,v) in enumerate(dict.items())
多层嵌套
双层for循环
嵌套items()遍历

总结

  1. 日常开发**优先用 items()**,同时拿键值最方便;
  2. 只需要键/值时,用 keys()/values(),代码更清晰;
  3. 嵌套字典用双层循环,轻松搞定多层数据。

最新文章

随机文章