Python | Group strings by specific element in a list



Method: Using groupby () + comprehension list + lambda
This task can be accomplished using a combination of the above functions. In doing so, we group the elements using groupby (), and the decision to group the logic of the elements is made as a lambda function.

# Python3 code to demonstrate how it works
# Group lines in a specific element in the list
# using groupby () + comprehension list + lambda

from itertools import groupby

 
# initialize lists

test_list = [ `gfg` , ` is` , `best` , `and` , `is` , ` popular` ]

 
# print original list

print ( "The original list is:" + str (test_list))

 
# initialize section element

ele = `is`

  
# Group lines in a specific element in a list
# using groupby () + comprehension list + lambda

res = [ list (j) for i, j in groupby (test_list, lambda x: x = = ele) if not i]

 
# print result

print ( "Resultant list after grouping:" + str (res))

Output:

 The original list is: [`gfg`,` is `,` best`, `and`,` is`, `popular`] Resultant list after grouping: [[` gfg`], [`best`,` and`], [`popular`]]