Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Python a využití rekurze

Hmm, když z toho udělám globální proměnnou, tak se mi to pak spojí do jednoho seznamu všechno. Ovšem když ji pokaždé inicializuji na prázdný seznam před každým voláním, tak to funguje, ale přijde mi to hrozné znásilňování. Musí být lepší způsob.


def recursive_count(nested_num_list):
    if len(nested_num_list) != 0:
        for elem in range(len(nested_num_list)):
            #print(nested_num_list, nested_num_list[elem], elem) # kontrola
            if type(nested_num_list[elem]) == type([]):
                #print(nested_num_list, elem) # kontrola
                recursive_count(nested_num_list[elem])
            else:
                result_all.append(nested_num_list[elem])
        #print('vysledek:', result_all) # kontrola

    return result_all

result_all = []  # globalni promenna
print(recursive_count([2, 9, [2, 1, 13, 2], 8, [2, 6]]))
result_all = []  # globalni promenna
print(recursive_count([[9, [7, 1, 13, 2], 8], [7, 6]]))
result_all = []  # globalni promenna
print(recursive_count([[9, [7, 1, 13, 2], 8], [2, 6]]))
result_all = []  # globalni promenna
print(recursive_count([[5, [5, [1, 5], 5], 5], [5, 6]]))
result_all = []  # globalni promenna

výsledek:


[2, 9, 2, 1, 13, 2, 8, 2, 6]
[9, 7, 1, 13, 2, 8, 7, 6]
[9, 7, 1, 13, 2, 8, 2, 6]
[5, 5, 1, 5, 5, 5, 5, 6]

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny