def is_list(p):
return isinstance(p, list)
def deep_reverse(p):
initial = []
for v, e in enumerate(p):
if is_list(e):
#print p[v][::-1]
initial.append(p[v][::-1])
deep_reverse(e)
return initial
p = [1, [2, 3, [4, [5, 6, [7, 8]]]]]
print deep_reverse(p)
我得到[[[4, [5, 6, [7, 8]]], 3, 2]]
了,至少是预期的(我还没有费心弄清楚如何不丢失第一个列表[1[...]]
)[[[[6, 5, [8, 7]], 4], 3, 2]]
。
如您所见,代码仅反转[ [2, 3]]
-> [[3, 2]]。我做错了什么?我没有想过吗?