合并具有重叠的嵌套列表

时间:2016-07-06 15:26:25

标签: python list merge nested difflib

我必须合并具有重叠的嵌套列表。我一直认为必须有一个使用列表推理的智能解决方案,可能是difflib,但我无法弄清楚它应该如何工作。 我的列表看起来像这样:

[['C', 'x', 'F'], ['A', 'D', 'E']]

[['x', 'F', 'G', 'x'], ['D', 'E', 'H', 'J']].

它们位于另一个之上,就像矩阵中的行一样。因此,它们有重叠(以

的形式)
[['x', 'F'], ['D', 'E']]).

合并应该产生:

[['C', 'x', 'F', 'G', 'x'], ['A', 'D', 'E', 'H', 'J']].

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情。

list1 = [['C', 'x', 'F'], ['A', 'D', 'E']]
list2 = [['x', 'F', 'G', 'x'], ['D', 'E', 'H', 'J']]

for x in range(len(list1)):
    for element in list2[x]:
        if element not in list1[x]:
            list1[x].append(element)
    print list1[x]

输出:

['C', 'x', 'F', 'G']
['A', 'D', 'E', 'H', 'J']

我希望这会对你有所帮助。