首页 > 解决方案 > 将列表分解为较小的重复元素列表,并保留原始顺序(Python)

问题描述

例如。我有以下列表: N=[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 1] 我需要将其分解如下: N2=[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4], [5, 5, 5, 5, 5], [1]] 最后一个“1”保持在其原始位置,而不与其他“1”分组。谢谢你的帮助

标签: pythonlist

解决方案


使用itertools.groupby

x = [list(i) for _, i in itertools.groupby(N)]

# Result 

[[1], [2, 2], [3, 3, 3], [4, 4, 4, 4], [5, 5, 5, 5, 5], [1]]

推荐阅读