我有一个列表列表,其中每个整数0..N恰好属于外部列表中的一个列表。例如,如果N = 6,我有类似的东西
L=[[0,4,5],[2,3],[1,6]]
我希望字典如下所示:
{0:0, 1:2, 2:1, 3:1, 4:0, 5:0}
例如,键:值对2:1表示2属于L [1]。
有一种简单的方法吗?
答案 0 :(得分:1)
您可以使用enumerate +一个dictionary comprehension:
L = [[0, 4, 5], [2, 3], [1, 6]]
result = {value: i for i, values in enumerate(L) for value in values}
print(result)
输出
{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
我认为这里的关键是使用枚举来访问L
的索引和元素。
答案 1 :(得分:1)
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)
这将产生如下输出:
{0: 0, 1: 2, 2: 1, 3: 1, 4: 0, 5: 0, 6: 2}