This is the input list
input_list = ['string','string','1','string','2','string','string','3','string','5']
This is the output required
[['string', 'string', '1'], ['string', '2'], ['string', 'string', '3'],
['string', '5']]
Basically you're grouping the list data string
and (numeric data)
into a list of lists, each list containing the first numeric data and previous string data encountered
A simple algorithm which can accomplish this
output_list = []
inner_list = []
for data in input_list:
inner_list.append(data)
if data.isdigit():
output_list.append(inner_list)
inner_list = []
print output_list
I was wondering if this could be made even simpler (accomplished in lesser number of lines)?