通过保留第一个元素,从python列表中删除以下重复的元素

通过保留第一个元素,从python列表中删除以下重复的元素,python,python-3.x,Python,Python 3.x,我对我的代码有一个问题,因为我想知道如何通过每次保留第一个元素来删除代码中的重复元素 举个例子比很多词都好: mylist = [a,a,a,b,c,c,a,d,e,e,e] 我想得到: my_new_list = [a,b,c,a,d,e] my_new_list_2 = [a,3,b,1,c,2,a,1,d,1,e,3] 过程如下: 一旦我收到一封信或下面的同一封信,我就写这封信一次,然后下一封信也是一样,等等。。 然后我需要删除连续的重复项,并在新列表中添加重复项的数量 我的代码是:

我对我的代码有一个问题,因为我想知道如何通过每次保留第一个元素来删除代码中的重复元素

举个例子比很多词都好:

mylist = [a,a,a,b,c,c,a,d,e,e,e]
我想得到:

my_new_list = [a,b,c,a,d,e]
my_new_list_2 = [a,3,b,1,c,2,a,1,d,1,e,3]
过程如下:

一旦我收到一封信或下面的同一封信,我就写这封信一次,然后下一封信也是一样,等等。。 然后我需要删除连续的重复项,并在新列表中添加重复项的数量

我的代码是:

mylist = [a,a,a,b,c,c,a,d,e,e,e]
result = list(dict.fromkeys(mylist))
==> [a,b,c,d,e]
这不是预期的结果。

您可以使用将相等的连续元素分组,并保留每组的
键:

from itertools import groupby
mylist = ['a','a','a','b','c','c','a','d','e','e','e']

[k for k,_ in groupby(mylist)]
# ['a', 'b', 'c', 'a', 'd', 'e']

是的,这正是我在另一篇文章中看到的!我编辑了我的问题,因为在同一个列表中,我还有一个关于代码的问题:这将删除所有重复的元素,而不仅仅是连续的元素,因为中间(有序)dict中的键必须是唯一的。你说得对!这是我第一次尝试。但我编辑了我的问题,因为她不完整,我的问题的一部分在你提到的原始帖子中找不到答案。请解释你的问题的哪一部分在链接副本中没有处理。在我看来,副本为您的问题提供了三种不同的解决方案。请用副本未处理的示例更新您的帖子。