我在下面列出。
a = [4, 4, 1, 1, 1, 2, 2, 3, 1, 1]
我想重叠放置,但保留外观顺序。所以我想得到像
b = [4, 1, 2, 3, 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]