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

为何字典键未更新?如何动态更新键存储循环生成值?

问题原因与解决方法

问题根源

你这段代码里的numbers + 1只是做了加法运算,但没有把运算结果存回numbers变量里——也就是说numbers的值自始至终都是1,每次循环都在重复覆盖字典中键1对应的值,最后自然只剩最后一次循环的10。

修复方案

方案1:修正变量赋值

把numbers + 1改成赋值操作,让numbers每次循环都真正递增:

counting = {}
numbers = 1

for i in range(1, 11):
    counting[numbers] = i
    numbers += 1  # 用 += 完成自增赋值,等价于 numbers = numbers + 1

print(counting)

方案2:直接用循环变量当键

既然循环的i本身就是从1到10递增的,完全可以省去numbers变量,直接用i作为字典的键:

counting = {}

for i in range(1, 11):
    counting[i] = i

print(counting)

方案3:用字典推导式简化代码

如果追求简洁,一行代码就能生成目标字典:

counting = {i: i for i in range(1, 11)}
print(counting)

以上三种方法都能得到完整的字典{1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, 10: 10}。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:20:33