删除两个列表之间的删除

时间:2017-01-13 19:19:57

标签: python list python-3.x

我从硬盘驱动器中加载了一个列表,并从互联网上显示另一个列表,这两个列表都是城镇名称。我想将两个列表组合在一起并删除任何重复的名称,以便它们只在硬盘驱动器的列表中出现一次。我看到了一个简单的方法,如果没有比较它们,在类似的情况下,它工作,但现在它不是删除重复,而是它给我列表一和列表二,未编辑,当它被写回来出了硬盘。

我使用的原始概念是

for x in townname:
    if x not in towns:
        towns.append(x)
        print(x)

这只是将list2复制到列出一个并且不删除任何内容。当我切换城镇名称和城镇时,情况正好相反。

如何在将其余部分从城镇名称复制到城镇时将其删除?

1 个答案:

答案 0 :(得分:0)

如果唯一元素很重要,您可以使用内置set()容器类型。集不允许重复元素,因此可用于从其他容器类型中删除重复项。

在您的情况下,您可以简单地组合您的两个列表,将组合列表转换为set(),并将该组转换回列表。以下是使用两个列表的最小示例:

>>> l = [1, 2, 3, 4, 5]
>>> l2 = [4, 5, 6, 7, 8]
>>> list(set(l + l2))
[1, 2, 3, 4, 5, 6, 7, 8]
>>> 
相关问题