Method # 1: Using index ()
and slicing a list
Slicing a list can be used to get sublists from a custom list, and the index function can be used to check an empty string that could potentially act as a delimiter. The downside to this is that it only works for one split, that is, it can split the list into only 2 lists.
# Python3 demo code # split the list into siblist on a separator # using index () + slice the list # initializing list test_list = [ ’Geeks’ , ’for’ ,’ ’,’ Geeks’, 1 , 2 ] # print original list print ( "The original list:" + str (test_list)) # using index () + slice the list # split the list into siblist delimited temp_idx = test_list.index (’ ’) res = [test_list [: temp_idx], test_list [temp_idx + 1 :]] # print result print code> ( "The list of sublist after seperation:" + str (res)) |
Output:
The original list: [’Geeks’, ’for’, ”, ’Geeks’, 1, 2]
The list of sublist after seperation: [[’Geeks’, ’for’], [’Geeks’, 1, 2]]
Method # 2: Using itertools.groupby () + list comprehension
The problem of the above method can be solved by using the groupby function, which can divide by all the list breaks given by empty strings.
# Python3 demo code # split the list into siblist separator # using itertools.groupby () + list comprehension from itertools import groupby # initializing list test_list = [ ’Geeks’ ,’ ’,’ for ’, ’ ’, 4, 5, ’ ’, ’ Geeks’ , ’CS’ ,’ ’,’ Portal’] # print original list pri nt ( "The original list:" + str (test_list)) # using itertools.groupby () + list comprehension # split list into siblist separator res = [ list (sub) for ele, sub in groupby (test_list, key = bool ) if ele] # print result print ( "The list of sublist after seperation:" + str (res)) |
tbody>
Output:
The original list: [’Geeks’, ”, ’for’,”, 4, 5, ”, ’Geeks’, ’CS’,”, ’Portal’]
The list of sublist after seperation: [[’Geeks’], [’for’], [4, 5], [’Geeks’, ’CS’], [’Portal’]]
Python | Splitting a list into an empty string Python functions: Questions
Python | Splitting a list into an empty string split: Questions