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

Python如何按规则将两个列表的索引、值存入字典生成目标列表

问题原因

你原有代码的问题集中在字典构造部分:

  • 同一个字典内重复定义value_s键,后面的'value_s':value赋值会覆盖前面存储s索引的赋值,导致value_s最终变成了列表l的元素值
  • 缺少Name_l字段,没有存储列表l的元素值
  • 额外注意:你的预期输出中value_s是字符串格式,需要把s的索引显式转成字符串类型

解决方法

方法1:修正原有循环逻辑

直接调整字典的键定义即可,逻辑清晰易读:

l = ['a','b','c','d']
s = ['q','w']
result = []
for idx_s, val_s in enumerate(s):
    for idx_l, val_l in enumerate(l):
        result.append({
            "value_s": str(idx_s),
            "Name_s": val_s,
            "value_l": idx_l,
            "Name_l": val_l
        })

方法2:使用列表推导式简化写法

适合熟悉Python语法的场景,代码更简洁:

l = ['a','b','c','d']
s = ['q','w']
result = [
    {"value_s": str(idx_s), "Name_s": val_s, "value_l": idx_l, "Name_l": val_l}
    for idx_s, val_s in enumerate(s)
    for idx_l, val_l in enumerate(l)
]

两种方法得到的result都完全符合你给出的预期输出格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:45:01