拼合字典python的列表

时间:2019-06-22 00:11:20

标签: python-3.x list dictionary merge

因此,我具有以下列表列表,并且仅在列表项完全匹配时,我才尝试通过合并重复项来减小大小。订单意义重大(更改商品订单将是一个问题)。它们也不是大小相等的列表。

示例:

List = [["a", "b", "c", "d", "e"], ["a", "b"], ["a", "b", "c", "d", "e", "f"], ["a"], ["a", "b", "c", "d", "e"], ["a", "b"]]

我期待以下输出:

List = [["a", "b", "c", "d", "e"], ["a", "b"], ["a", "b", "c", "d", "e", "f"], ["a"]]

这是代码:

def consolidate(all_list):
    a = {}
    for v in all_list:
        if len(v) > 0:
            k = v[0]
            if k not in a: a[k] = []
                a[k].append(v[1:])
    for k in a:
        a[k] = consolidate(a[k])
    return a

但是,它似乎不起作用。

1 个答案:

答案 0 :(得分:2)

只需:

output = []
for x in List:
    if x not in output : output.append(x)
output

输出

  

[['a','b','c','d','e'],['a','b'],['a','b','c',' d','e','f'],['a']]