Как можно преобразовать неравномерный массив с кортежами в одномерный (Python)

Нужно преобразовать подобное:

[((['1', '2', '3'], ['1', '3']), (['2', '3'], ['3'])), ((['1', '2', '3'], ['1', '2']), (['2', '3'], ['2'])), (['1', '2', '3'], ['1', '3']), ['1', '2', '3']]

Во что-то наподобие этого:

['1', '2', '3', '1', '3', '2', '3', '3', '1', '2', '3', '1', '2', '2', '3', '2', '1', '2', '3','1', '3', '1', '2', '3']

Массив задаётся пользователем


Ответы (2 шт):

Автор решения: Голаков

Вопрос решён самостоятельно. Прикрепляю код:

x=[[1,2,[3]],[4,5,6],[[7,8,[9]]], [10,[11],12],[[13]]] #пример массива
j=[] #другой массив для заполнения
def ras(i):
            for u in i:
                 if type(u) is not list:
                     j.append(u)
                 else:
                     j.append(ras(u))
            return [n for n in j if type(n) is not list] #избавляемся от бесконечных внутренних массивов
print(ras(x)) 
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]```
→ Ссылка
Автор решения: Gawain
def foo(old_list):
    new_list = []
    for x in old_list:
        if isinstance(x, (list, tuple)):
            new_list.extend(foo(x))
        else:
            new_list.append(x)

    return new_list


t = [((['1', '2', '3'], ['1', '3']), (['2', '3'], ['3'])), ((['1', '2', '3'], ['1', '2']), (['2', '3'], ['2'])), (['1', '2', '3'], ['1', '3']), ['1', '2', '3']]
print(foo(t))
→ Ссылка