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