ネストされたリストがあり、リスト内のすべての要素を逆にする必要があります。しかし、リストがリストのリストであるかどうかはわかりません。したがって、例は次のとおりです。
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
2番目のテストであるqのテストではうまく機能しますが、最初のテストでは機能しません。全体をループするために再帰を使用する必要があるかどうかわかりませんか?コードを変更するにはどうすればよいですか?ありがとう。