Member 13814092 Ответов: 1

Как преобразовать эту лямбда-функцию в формат def?


Я пытаюсь понять детали этого кода.:

 prune = lambda tree : [prune(branch) for branch in tree if branch != []]

l = [[[[], []], [[], []]], [[], [], []]]
prune(l)


Но я еще не изучил лямбда-функцию.

Что я уже пробовал:

Я пытаюсь разбить его на формат функции def

def prune(tree):
    for branch in tree:
        if branch!=[]:
             prune(branch)
    return branch
print prune([[[[], []], [[], []]], [[], [], []]])


Но это не дает того же результата, что я делаю не так?

1 Ответов

Рейтинг:
8

Thomas Daniels

def prune(tree):
    result = []
    for branch in tree:
        if branch != []:
            result.append(prune(branch))
    return result

Вы были почти там; единственный шаг, который вы пропустили, это добавление элементов в список результатов.


Maciej Los

5ed!