You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码疑问:列表元素存入count_dict的机制及程序运行逻辑

这段Python代码的工作原理详解

先看原代码:

sample_list = [11, 45, 8, 11, 23, 45, 23, 45, 89]
print("Original list ", sample_list)

count_dict = dict()
for item in sample_list:
    if item in count_dict:
        count_dict[item] += 1 # how was the data stored into the variable count_dict?
    else:
        count_dict[item] = 1

print("Printing count of each item  ", count_dict)

核心逻辑拆解

  • 初始化阶段:

    • sample_list是待统计的原始列表,包含多个重复元素。
    • count_dict = dict()创建了一个空字典,用来存储每个元素的出现次数——字典的键对应列表里的元素,值对应该元素的出现次数。
  • 循环统计阶段:
    代码通过for循环逐个遍历sample_list里的元素:

    1. 若当前取出的item已经是count_dict的键(说明之前统计过这个元素),就把对应键的值加1(比如第二次遇到11时,把count_dict[11]从1改成2)。
    2. 若当前item不在count_dict的键中(说明是第一次遇到这个元素),就给字典新增一组键值对:键为当前item,值设为1(代表该元素首次出现)。
  • 数据存储的实际过程:
    拿代码执行的步骤举例:

    • 第一次取到11:count_dict是空的,执行count_dict[11] = 1,此时字典变为{11: 1}。
    • 第二次取到45:不在字典里,执行count_dict[45] = 1,字典变为{11: 1, 45: 1}。
    • 第三次取到8:同样新增,字典变为{11: 1, 45: 1, 8: 1}。
    • 第四次取到11:已在字典中,执行count_dict[11] += 1,11对应的值变为2,字典变为{11: 2, 45: 1, 8: 1}。
    • 后续元素按同样逻辑处理,直到遍历完整个列表。
  • 最终结果:
    遍历结束后,count_dict就存储了所有元素的出现次数,打印结果为{11: 2, 45: 3, 8: 1, 23: 2, 89: 1}。

内容的提问来源于stack exchange,提问作者Mohamed Ouni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 10:43:17