【问题标题】:How can I split a list into smaller lists [duplicate]如何将列表拆分为较小的列表[重复]
【发布时间】:2021-02-02 10:20:02
【问题描述】:

我有一个这样的列表:

[10,10,10,20,20,20,20,30,40,40,40]

我想分成 X 个列表,其中 X = 有多少个唯一元素,在上面的情况下有 4 个。所以我想要 4 个这样的列表:

[[10,10,10],[20,20,20,20],[30],[40,40,40]]

可能是一个愚蠢的问题,有一个简单的方法可以做到这一点,但任何帮助表示赞赏,语言是 python3。

【问题讨论】:

    标签: python list


    【解决方案1】:

    itertools.groupby 做你需要的,除了它返回迭代器而不是列表。转换为列表很容易:

    [list(g) for _, g in itertools.groupby(my_list)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 2012-07-12
      • 1970-01-01
      • 2010-10-19
      • 2010-12-11
      相关资源
      最近更新 更多