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

Python中如何使用for循环生成指定结构的嵌套字典

问题排查

你的原有代码存在两处明显问题:

  • 未预先为外层字典的每个John*键初始化内层空字典,直接对dicts[k][i]赋值会触发KeyError
  • 多余的第三层values循环:遍历整个values列表时,每个dicts[k][i]最终会被覆盖为列表最后一个元素John,虽然值刚好匹配但逻辑错误且冗余

修正代码

基础循环写法

dicts = {}
inner_keys = range(4)
outer_keys = ['John'+str(k+1) for k in range(3)]

for k in outer_keys:
    # 初始化内层字典
    dicts[k] = {}
    for i in inner_keys:
        dicts[k][i] = 'John'

简洁字典推导式写法

dicts = {f'John{k+1}': {i: 'John' for i in range(4)} for k in range(3)}

两种写法运行后得到的输出都和你预期的结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:57:03