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

Python如何将嵌套列表元素正确添加到嵌套字典中

问题原因

原代码无法得到预期结果的核心问题有两个:

  • 循环内直接覆盖了原本存储嵌套列表的list变量,每次遍历都会重新给这个变量赋值为单条字典,循环结束后自然只保留最后一个元素对应的字典
  • 没有定义外层存储所有条目的结果容器,也没有给每个子字典分配从1开始的数字索引键
  • 额外提醒:不要用list/dict这类Python内置类型名当自定义变量名,会覆盖内置方法引发后续报错
可行实现方案

使用enumerate函数做从1开始的索引计数,遍历过程中把每个子列表生成的字典存入结果字典对应键位即可:

source_data = [['710.09', '65.09', '2.0'], ['710.09', '65.09', '3.0']]
categories = {'rent': None, 'size': None, 'rooms': None}
result = {}

# start=1指定索引从1开始计数,匹配预期输出的键值
for index, item in enumerate(source_data, start=1):
    result[index] = dict(zip(categories.keys(), item))

运行上述代码得到的输出完全匹配预期:

{1: {'rent': '710.09', 'size': '65.09', 'rooms': '2.0'}, 2: {'rent': '710.09', 'size': '65.09', 'rooms': '3.0'}}

如果需要把字符串格式的数值转为浮点数,只需要调整赋值逻辑即可:

for index, item in enumerate(source_data, start=1):
    result[index] = dict(zip(categories.keys(), map(float, item)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 19:15:46