字典列表列表,其中键是输入值,而值是输入值

时间:2019-05-16 12:31:37

标签: python

我有一个列表列表:

[[0, 1, 2,], [130, 131], [142, 143]]

我想将此列表l转换为以下形式的字典:

{'0': 0, '1': 0, '2':'0, '130': 1, '131: 1, '142': 2, '143': 2}

所以关键是列表元素。相应的值是l子列表中的条目名称。希望您能关注我的问题。

我尝试了以下代码,这些代码根本不起作用。

cluster_list = list(range(len(list(l))))

dictionary = dict(zip(cluster_list, l))

我必须添加:每个子列表说明哪些节点是同一群集的成员。所以每个节点只出现一次。

我希望我们可以一起解决这个问题。谢谢!

2 个答案:

答案 0 :(得分:7)

使用enumerate

例如:

data = [[0, 1, 2], [130, 131], [142, 143]]
print({i: k for k, v in enumerate(data) for i in v})
#or print({str(i): k for k, v in enumerate(data) for i in v}) #For string key.

输出:

{0: 0, 1: 0, 2: 0, 130: 1, 131: 1, 142: 2, 143: 2}

答案 1 :(得分:0)

尝试一下:

l = [[0, 1, 2,], [130, 131], [142, 143]]
d = {}
for n in range(len(l)):
    for item in l[n]:
        d[item] = n
print(d)