您好,我正在尝试实施的代码存在一个小问题。 我希望将列表列表转换为字典,其中键引用列表原始列表中的列表位置,值是列表中的项目列表(来自原始列表列表)。我还希望删除原始列表中的所有Nones。例如:
[[(1, None), (2, None)], [(0, None), (2, None)], [(1, None), (0, None)]]
我希望这成为:
{0: [1, 2], 1: [0, 2], 2: [1, 0]}
答案 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)
只是为了好玩,如果你想使用lambda
和map
:
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}