📜  Python|列表中相同的连续分组

📅  最后修改于: 2022-05-13 01:55:03.277000             🧑  作者: Mango

Python|列表中相同的连续分组

有时,在使用Python列表时,我们可能会遇到需要执行分组的问题。可能存在一个特殊问题,我们需要对连续出现的元素进行分组。解决这个问题很有用。让我们讨论一下可以做到这一点的某种方式。

方法:使用groupby() + 列表理解
可以使用Python提供的内置groupby()以简单的方式执行此任务。这可以与逻辑组合和迭代的列表理解相结合。

# Python3 code to demonstrate working of
# Identical Consecutive Grouping in list
# using groupby() + list comprehension
from itertools import groupby
  
# initialize list
test_list = [4, 4, 5, 5, 5, 7, 7, 8, 8, 8]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Identical Consecutive Grouping in list
# using groupby() + list comprehension
res = [list(y) for x, y in groupby(test_list)]
  
# printing result
print("List after grouping is : " + str(res))
输出 :
The original list is : [4, 4, 5, 5, 5, 7, 7, 8, 8, 8]
List after grouping is : [[4, 4], [5, 5, 5], [7, 7], [8, 8, 8]]