Я думаю, что самый простой и универсальный способ - написать рекурсивную функцию следующим образом:
def flat_list(some_list = []):
elements=[]
for item in some_list:
if type(item) == type([]):
elements += flat_list(item)
else:
elements.append(item)
return elements
list = ['a', 'b', 1, 2, 3, [1, 2, 3, 'c',[112,123,111,[1234,1111,3333,44444]]]]
flat_list(list)
>>> ['a', 'b', 1, 2, 3, 1, 2, 3, 'c', 112, 123, 111, 1234, 1111, 3333, 44444]
1007 *