有没有一种方法可以更轻松地对列表中的重复项进行排序和删除?

时间:2019-04-25 13:28:17

标签: python

我正在尝试从列表中删除重复项。首先尝试通过比较2个列表的元素来做到这一点,但我对这种方法不满意。有没有更简单的方法?

list1 = [a, b, b, c, c, d,]
list2 = [b, c]
for list1 in list2:
   list.append(list.remove())
return list

但是通过这种方式,我删除了list1和list2中的所有成员,我只希望删除重复项。

4 个答案:

答案 0 :(得分:0)

您可以尝试

readmelist.sort()
readmelist = list(dict.fromkeys(readmelist))

答案 1 :(得分:0)

这将生成一个名为“ list”的新列表,其中不包含重复项。 还要注意,在list1的末尾有一个多余的,这会导致错误,并且a被读取为变量,使用'a'读取为字符串。

list1 = ['a', 'b', 'b', 'c', 'c', 'd']
list2 = ['b', 'c']
list = []
for i in list1:
    if i not in list2:
        list.append(i)
print(list)

答案 2 :(得分:0)

关于删除重复项的问题:

list1=list(set(list1))

但是,老实说,我不知道第二个列表中想要什么。 如果要从列表中删除第二个列表中的所有项目,请使用for循环。如果要删除第二个列表中的所有项目,并且要删除第一个列表中的所有项目,请使用带计数器的for循环,并且仅在counter> = 1时才删除条目。 对于最后一种情况,甚至更好的方法是使用掩码,然后删除值(您不必一遍又一遍地遍历列表)。

也许您想要

list_out= list( set(list1) - set(list2))

编辑:刚刚看到这是一个重复的问题from here,因此应该关闭。

答案 3 :(得分:0)

到目前为止,我发现的最简单的方法是使用字典。

run script | javascript(myString(); function myString() {var auth = 'Authorization Request - Confirmation Number: ()' var confNum = auth.slice(47,52))} | auth Num

dict.fromkeys(object)创建一个包含键但没有值的字典。

由于字典只能具有唯一键,因此重复项会自动删除。

然后我们使用list('Dictionary_Here')将字典转换为列表

希望这会有所帮助。

相关问题