我有一个嵌套列表,我需要反转列表中的每个元素。但我不知道列表是否是列表的列表或不列表。 因此例子是:列表中的Python深度反转
p = [1, [2, 3, [4, [5, 6]]]]
print deep_reverse(p)
#>>> [[[[6, 5], 4], 3, 2], 1]
q = [1, [2,3], 4, [5,6]]
print deep_reverse(q)
#>>> [ [6,5], 4, [3, 2], 1]
我至今是:
def is_list(p):
return isinstance(p, list)
def deep_reverse(a):
a.reverse()
for i in a:
if is_list(i):
i.reverse()
print a
它运作良好,第二次测试时,q之一,但对于第一次测试行的事工作。 我不知道我需要使用递归循环整个事情吗?我如何修改我的代码?谢谢。
是的,你确实需要递归。 (你有没有试图这样做?) – huon
闻起来像作业 – inspectorG4dget
你的功能只深入到列表中2级。正如dbaupp所说,你需要利用递归。作为提示,你的回答是正确的,除了1行;) –