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

Python如何从嵌套列表与字典创建{x:y}格式的字典?

解决嵌套列表字典提取键值对生成新字典的问题

你遇到的报错list indices must be integers or slices, not list(中文:列表索引必须是整数或切片,不能是列表),问题出在循环逻辑上:

  • for i in A时,i是A中的子列表元素(比如list1、list2),不是整数索引。
  • 你用A[i]去取元素,相当于用列表当索引,违反了列表的索引规则,因此报错。

要生成目标字典,需要两层遍历:先遍历A中的每个子列表,再遍历子列表里的每个字典,把每个字典的'x'值作为键,'y'值作为值存入新字典。

方法1:普通循环实现

newdict = {}
# 遍历A中的每个子列表
for sub_list in A:
    # 遍历子列表中的每个字典
    for d in sub_list:
        newdict[d['x']] = d['y']

方法2:字典推导式(更简洁)

newdict = {d['x']: d['y'] for sub_list in A for d in sub_list}

运行后得到的newdict结果为:

{1: 7, 2: 8, 3: 9}

注意:如果不同字典里有相同的'x'值,后面的会覆盖前面的赋值(示例中dict3在多个子列表里出现,但x=3对应的y值一致,因此无影响)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:25:01