Simple note how to transform list [1,2,[18,45,87,[7,6]]] to [1,2,18,45,87,7,6].
Variant 1 (python2 and python3)
import collections
def flat(lst):
result = []
for i in lst:
if isinstance(i, collections.Iterable):
result.extend(flat(i))
else:
result.append(i)
return result
l = [1,2,[18,45,87,[7,6]]]
print(flat(l))
Variant 2 (python3.3 and above)
def flat(lst):
if isinstance(lst, list):
for item in lst:
yield from flat(item)
else:
yield lst
l = [1,2,[18,45,87,[7,6]]]
print(list(flat(l)))