将列表列表转换为列表字典

时间:2015-03-28 22:00:19

标签: python list dictionary graph tuples

您好,我正在尝试实施的代码存在一个小问题。 我希望将列表列表转换为字典,其中键引用列表原始列表中的列表位置,值是列表中的项目列表(来自原始列表列表)。我还希望删除原始列表中的所有Nones。例如:

[[(1, None), (2, None)], [(0, None), (2, None)], [(1, None), (0, None)]]

我希望这成为:

{0: [1, 2], 1: [0, 2], 2: [1, 0]}

2 个答案:

答案 0 :(得分:5)

看起来像一个基本的词典和列表理解

raw = [[(1, None), (2, None)], [(0, None), (2, None)], [(1, None), (0, None)]]
print {i: [el[0] for el in l] for i, l in enumerate(raw)}

打印

{0: [1, 2], 1: [0, 2], 2: [1, 0]}

答案 1 :(得分:1)

只是为了好玩,如果你想使用lambdamap

dict(map(lambda i: (li.index(i), [i[0][0], i[1][0]]), li))

使用index方法代替enumerate的替代词典理解:

{li.index(i):[el[0] for el in i] for i in li}