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

Python 是否有一种方法可以更轻松地对列表中的重复项进行排序和删除?,python,Python,我正在尝试从列表中删除重复项。第一次尝试通过比较两个列表的元素来实现,但我对这种方法不满意。有没有更简单的方法 list1 = [a, b, b, c, c, d,] list2 = [b, c] for list1 in list2: list.append(list.remove()) return list 但通过这种方式,我将删除列表1和列表2中的所有成员,我只想删除重复的成员。您可以尝试此方法 readmelist.sort() readmelist = list(dict.f

我正在尝试从列表中删除重复项。第一次尝试通过比较两个列表的元素来实现,但我对这种方法不满意。有没有更简单的方法

list1 = [a, b, b, c, c, d,]
list2 = [b, c]
for list1 in list2:
   list.append(list.remove())
return list
但通过这种方式,我将删除列表1和列表2中的所有成员,我只想删除重复的成员。

您可以尝试此方法

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

这将生成一个名为“list”的新列表,其中不包含重复项。 还要注意的是,在列表1的末尾有一个额外的字符,它将导致错误,并且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)

要解决删除重复项的问题,请执行以下操作:

list1=list(set(list1))

但我真的不知道你想要第二份名单。 如果要从列表一中删除第二个列表中的所有项目,请使用for循环。如果要删除第二个列表中的所有项目以及第一个列表中的多次项目,则应使用带有计数器的for循环,并且仅当计数器>=1时才删除该项。 对于最后一种情况,更好的方法是使用掩码,然后删除值(您不必以这种方式反复循环列表)

也许你想要像这样的东西

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

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

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


列表1=[a,b,b,c,c,d,]
列表1=列表(dict.fromkeys(列表1))

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

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

然后,我们使用list('dictionary\u Here')将字典转换成一个列表


希望这有帮助。

请以正确的格式为我们提供输入。是
a
b
,。。python变量或字符串文本?list2与从list1中删除重复项有什么关系?此外,删除重复项是否意味着
[a,d]
[a,b,c,d]
?您希望结果如何?OPs列表末尾的额外逗号完全有效。