繁体   English   中英

如何将列表列表转换为键为整数且值为 integer 所属的子列表的索引的字典?

[英]How can I convert a list of lists to a dictionary whose keys are integers and values are the index of the sublist to which the integer belongs?

我有一个列表列表,其中每个 integer 0..N 恰好属于外部列表中的一个列表。 例如,如果 N=6,我有类似的东西

L=[[0,4,5],[2,3],[1,6]]

我希望字典如下所示:

{0:0, 1:2, 2:1, 3:1, 4:0, 5:0}

例如,key:value 对 2:1 表示 2 属于 L[1]。

有没有一种简单的方法可以做到这一点?

您可以使用enumerate + 字典理解

L = [[0, 4, 5], [2, 3], [1, 6]]
result = {value: i for i, values in enumerate(L) for value in values}
print(result)

Output

{0: 0, 4: 0, 5: 0, 2: 1, 3: 1, 1: 2, 6: 2}

这相当于:

result = {}
for i, values in enumerate(L):
    for value in values:
        result[value] = i

在我看来,这里的关键是使用 enumerate 来访问L的索引和元素。

L=[[0,4,5],[2,3],[1,6]]

result = dict()
for i,l  in enumerate(L):
  for item in l:
    result[item]=i

print(result)

这将产生 output ,如:

{0: 0, 1: 2, 2: 1, 3: 1, 4: 0, 5: 0, 6: 2}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM