gpt4 book ai didi

python - 如何展平 python 列表?输入是列表、字符串或整数

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:15 24 4
gpt4 key购买 nike

<分区>

下面是我用来展平 python 列表的代码。我试图使用递归的概念来做同样的事情。输入是整数、字符串或列表。我正在苦苦挣扎的是,我无法理解为什么我的返回会给我一个包含重复值的列表?我该如何纠正?

copyList = []
def flatten(aList):
for char in aList:
if isinstance(char,int) or isinstance(char,str):
copyList.append(char)
else:
char_pos = aList.index(char) + 1
return flatten(char) + flatten(aList[char_pos:len(aList)])
print copyList
return copyList

就获得正确的输出而言,我的输出是正确的,但返回似乎给了我重复了几次的列表。无法理解出了什么问题!!

Sample output here: flatten([1,'a',2,[['alpha']],3,4])

[1, 'a', 2, 'alpha'] [1, 'a', 2, 'alpha'] [1, 'a', 2, 'alpha', 3, 4]

Out[2]: [1, 'a', 2, 'alpha', 1, 'a', 2, 'alpha', 1, 'a', 2, 'alpha',3, 4]

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