flat_list =[item for sublist in l for item in sublist]#which is equivalent to this
flat_list =[]for sublist in l:for item in sublist:
flat_list.append(item)
nested_lists =[[1,2],[[3,4],[5,6],[[7,8],[9,10],[[11,[12,13]]]]]]
flatten =lambda x:[y for l in x for y in flatten(l)]iftype(x)islistelse[x]
flatten(nested_lists)# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
regular_list =[[1,2,3,4],[5,6,7],[8,9]]
flat_list =[item for sublist in regular_list for item in sublist]print('Original list', regular_list)print('Transformed list', flat_list)
regular_list =[[1,2,3,4],[5,6,7],[8,9]]
flat_list =[item for sublist in regular_list for item in sublist]print('Original list', regular_list)print('Transformed list', flat_list)
from collections.abc import Iterable
defflatten(l):for el in l:ifisinstance(el, Iterable)andnotisinstance(el,(str,bytes)):yieldfrom flatten(el)else:yield el
from typing import Iterable
# flatten any number of nested iterables (lists, tuples)defflatten_iterables(iterable: Iterable)->list:"""Convert iterables (lists, tuples) to list (excluding string and dictionary)
Args:
iterables (Iterable): Iterables to flatten
Returns:
list: return a flattened list
"""
lis =[]for i in iterable:ifisinstance(i, Iterable)andnotisinstance(i,str):
lis.extend(flatten_iterables(i))else:
lis.append(i)return lis
# if your list is like this
l =[['Adela','Fleda','Owen','May','Mona','Gilbert','Ford'],'Adela']# then you
a =[]for i in l:iftype(i)!=str:for x in i:
a.append(x)else:
a.append(i)