gpt4 book ai didi

列表中的 Python 深度反转

转载 作者:行者123 更新时间:2023-11-28 19:32:11 26 4
gpt4 key购买 nike

我有一个嵌套列表,我需要反转列表中的每个元素。但我不知道该列表是否是列表列表的列表。所以例子是:

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 测试,但不适用于第一个测试。我不确定我是否需要使用递归来循环整个过程?如何修改我的代码?谢谢。

最佳答案

你的代码不起作用的原因是因为如果 i 是列表的列表,你不会 deep_reverse i 中的列表>.

您只需将一行代码更改为以下内容:

def is_list(p):
return isinstance(p, list)

def deep_reverse(a):
a.reverse()
for i in a:
if is_list(i):
deep_reverse(i) # <=== This is what changed
print a

关于列表中的 Python 深度反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com