从python中的列表生成特定的字典结构

时间:2017-01-25 14:09:09

标签: python python-2.7 dictionary

你好我有下面给出的清单L

L=[(), (0,), (1,), (2,), (0, 1), (0, 2), (1, 2), (0, 1, 2)]

我想从列表中生成下面给出的特定dict类型。我想通过将dict3的值作为输入传递给networkx python中的图形来创建图形网格,因此需要创建一个dict,其中每个元组的值都是长度大于元组长度的所有元素。

dict3={(): [(0,), (1,), (2,)], (0,): [(0, 1), (0, 2), (1, 2)],
       (1,): [(0, 1), (0, 2), (1, 2)],(2,): [(0, 1), (0, 2), (1, 2)],(0, 1): [(0, 1, 2)], 
       (0, 2): [(0, 1, 2)],(1, 2): [(0, 1, 2)]}

有任何建议吗?

1 个答案:

答案 0 :(得分:1)

你正在寻找这样的东西:

D = {}
for x in L:
    D[x] = []
    for i in L:     
        if len(x) == len(i) -1:    
            D[x].append(i)