【问题标题】:How to remove duplicates from a list whilst preserving order? [duplicate]如何在保留顺序的同时从列表中删除重复项? [复制]
【发布时间】:2021-12-06 22:41:00
【问题描述】:

如果我有这样的列表: lst = ['a','a','b','a', 'a', 'c', 'c', 'c','d','e','a', 'b', 'b', 'b'],

当我应用 set(lst) 时,它将删除所有重复项。但我只想删除一致的重复项并保持其余部分的顺序,所以我的理想输出是['a', 'b','a', 'c', 'd', 'e', 'a', 'b']

任何帮助将不胜感激!

【问题讨论】:

  • groupby 解决方案的简写版本:[*next(zip(*groupby(lst)))]

标签: python list


【解决方案1】:
from itertools import groupby

lst = ['a','a','b','a', 'a', 'c', 'c', 'c','d','e','a', 'b', 'b', 'b']

print([key for key, _ in groupby(lst)])

【讨论】:

    猜你喜欢
    • 2010-10-03
    • 2013-01-17
    • 2010-10-03
    • 2016-12-28
    • 1970-01-01
    • 2019-02-13
    相关资源
    最近更新 更多