【问题标题】:how to make list by order of appearance and drop overlapping? [duplicate]如何按外观顺序制作列表并丢弃重叠? [复制]
【发布时间】:2019-07-16 02:00:32
【问题描述】:

我有下面的清单。

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

我想删除重叠,但保留外观顺序。所以我想得到类似的列表

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

我不会删除所有重叠(如果下一个或上一个值与上一个或下一个值相同,则想要删除)。

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

【问题讨论】:

    标签: python list


    【解决方案1】:

    使用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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多