Python|在列表中的特定元素处对字符串进行分组
有时,在使用Python列表时,我们可能会遇到一个问题,即我们必须以在特定元素出现时对字符串列表进行分组的方式对字符串进行分组。这可能是日间编程的潜在问题。让我们讨论一下可以执行此问题的某种方式。
方法:使用groupby()
+ 列表理解 + lambda
可以使用上述功能的组合来执行此任务。在此,我们使用 groupby() 对元素进行分组,并且分组元素逻辑的决定以 lambda函数的形式完成。
# Python3 code to demonstrate working of
# Group strings at particular element in list
# using groupby() + list comprehension + lambda
from itertools import groupby
# initialize lists
test_list = ['gfg', 'is', 'best', 'and', 'is', 'popular']
# printing original list
print("The original list is : " + str(test_list))
# initialize partition element
ele = 'is'
# Group strings at particular element in list
# using groupby() + list comprehension + lambda
res = [list(j) for i, j in groupby(test_list, lambda x:x == ele) if not i]
# printing result
print("Resultant list after grouping : " + str(res))
输出 :
The original list is : ['gfg', 'is', 'best', 'and', 'is', 'popular']
Resultant list after grouping : [['gfg'], ['best', 'and'], ['popular']]