在 Python 编程世界里,字典(dict)是最核心的数据结构,循环是最基础的逻辑控制。

一、为什么循环+字典是Python必学组合?

字典以键值对的形式存储数据,结构清晰、查询速度极快,我们日常用到的用户信息、接口数据、配置参数、统计结果,几乎都用字典承载。

而循环的作用,就是快速遍历、处理、修改字典中的数据。可以说,写不好循环+字典,就写不好Python代码。掌握高级写法,不仅能让代码精简一半,更能体现你的编程功底。

二、基础必掌握:字典的3种核心遍历方式

先夯实基础,这三种循环遍历字典的写法,是所有高级技巧的前提,务必熟记。

基础遍历方式

遍历字典的键(Key)是最基础的方式,默认循环字典时只会遍历所有键:

user_info = {"name": "程序员小C", "age": 24, "city": "北京", "job": "Python开发"}
for key in user_info:
    print(f"键:{key},值:{user_info[key]}")

同时遍历键和值(最推荐)用 items() 方法一次性获取键值对:

for key, value in user_info.items():
    print(f"{key} : {value}")

只遍历字典的值(Value)用 values() 方法:

for value in user_info.values():
    print(f"字典的值:{value}")

三、进阶神技:一行代码搞定字典推导式

循环+字典的最强语法糖——字典推导式,用一行代码实现循环创建、筛选字典,比普通循环优雅10倍!

字典推导式

字典推导式用一行代码实现循环创建、筛选字典:

基础字典推导式:

num_dict = {i: i**2 for i in range(1, 6)}
print(num_dict)  # 输出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

带条件的筛选推导式:

even_dict = {i: i**2 for i in range(1, 11) if i % 2 == 0}
print(even_dict)  # 输出:{2: 4, 4: 16, 6: 36, 8: 64, 10: 100}

四、实战避坑:循环遍历删除字典元素

这是新手最容易踩的坑!直接遍历字典删除元素会报错,正确做法是遍历字典的副本:

遍历删除字典元素

直接遍历字典删除元素会报错,正确做法是遍历字典的副本:

score_dict = {"语文": 85, "数学": 59, "英语": 92, "物理": 66}
for key in list(score_dict.keys()):
    if score_dict[key] < 60:
        del score_dict[key]
print(score_dict)  # 输出:{'语文': 85, '英语': 92, '物理': 66}

五、高频实战:循环处理嵌套字典+列表

真实开发中,最常见的就是列表嵌套字典,用循环轻松批量处理数据:

处理嵌套字典+列表

循环遍历列表嵌套字典,批量处理数据:

students = [
    {"name": "张三", "score": 88},
    {"name": "李四", "score": 95},
    {"name": "王五", "score": 72},
    {"name": "赵六", "score": 90}
]
max_score = 0
max_name = ""
for stu in students:
    if stu["score"] > max_score:
        max_score = stu["score"]
        max_name = stu["name"]
print(f"最高分:{max_name},分数:{max_score}")

六、实用技巧:循环实现字典排序、合并、统计

字典排序、合并、统计

按值排序字典:

data = {"apple": 5, "banana": 3, "orange": 8}
for k, v in sorted(data.items(), key=lambda x: x[1]):
    print(k, v)

循环合并多个字典:

dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
dict3 = {"e": 5}
new_dict = {}
for d in [dict1, dict2, dict3]:
    new_dict.update(d)
print(new_dict)

循环统计元素次数:

fruits = ["apple", "banana", "apple", "orange", "banana", "apple"]
count_dict = {}
for fruit in fruits:
    if fruit in count_dict:
        count_dict[fruit] += 1
    else:
        count_dict[fruit] = 1
print(count_dict)

七、总结

循环+字典是Python最基础也最重要的组合,看似简单,却藏着无数实用技巧:

• 日常遍历优先用 items(),简洁高效;

• 快速创建字典用推导式,一行搞定;

• 遍历删除用副本,避开报错坑;

• 嵌套数据、排序、统计、合并,全靠循环+字典实现。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐