【发布时间】: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。
【问题讨论】:
我有一个这样的列表:
[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。
【问题讨论】:
itertools.groupby 做你需要的,除了它返回迭代器而不是列表。转换为列表很容易:
[list(g) for _, g in itertools.groupby(my_list)]
【讨论】: