如何按出现顺序和落下重叠的顺序制作清单?

时间:2019-07-16 02:00:32

标签: python list

我在下面列出。

a = [4, 4, 1, 1, 1, 2, 2, 3, 1, 1]

我想重叠放置,但保留外观顺序。所以我想得到像

b = [4, 1, 2, 3, 1]

我不会删除所有重叠的内容(如果下一个或上一个值与上一个或下一个值相同,则希望删除)。

如何编写代码以获取该列表?

1 个答案:

答案 0 :(得分:3)

使用itertools.groupby

[k for k, _ in groupby(a)]

示例

from itertools import groupby

a = [4, 4, 1, 1, 1, 2, 2, 3, 1, 1]

print([k for k, _ in groupby(a)])
# [4, 1, 2, 3, 1]