0
def is_list(p):

    return isinstance(p, list)


def deep_reverse(list):

    o=[]
    for i in reversed(list):

        if is_list(i)==True:
            print i
            deep_reverse(i)

        o.append(i)

    return o

例えば:

p = [1, [2, 3, [4, [5, 6]]]]
print deep_reverse(p)
#>>> [[[[6, 5], 4], 3, 2], 1]
4

1 に答える 1

7

行を変更する

        deep_reverse(i)

        i = deep_reverse(i)

ちなみに、この関数を短く書くと次のようになります。

def deep_reverse(lst):
    if not is_list(lst):
        return lst
    return map(deep_reverse, reversed(lst))
于 2013-01-25T18:57:55.853 に答える