gpt4 book ai didi

Python 函数返回 None,不清楚原因

转载 作者:行者123 更新时间:2023-11-28 21:27:39 28 4
gpt4 key购买 nike

我是 python 的新手,遇到了一个我无法解释的问题。我已尝试在此处搜索论坛答案,但我发现的内容与我的情况不符。感觉好像我缺少一些非常基本的东西,但我没有看到它(显然......)

此代码按我预期的方式运行:

import string

mults = [1,2,3,4,6,7,9,10,12,15,16,19,21,22,24]

def factor_exp(lst):
if lst[-1] == 1:
lst.pop()
return lst+[1]
if lst[-1] == 2:
lst.pop()
return lst+[1,1]
else:
return "Should never get here"

print factor_exp([1])
print factor_exp([2])
print factor_exp([1,2])

返回:

>>> 
[1]
[1, 1]
[1, 1, 1]

这就是我想要的。

我认为在函数内的列表上使用追加和扩展也可以。在代码底部附近添加了一个“附加”。

import string

mults = [1,2,3,4,6,7,9,10,12,15,16,19,21,22,24]

def factor_exp(lst):
if lst[-1] == 1:
lst.pop()
return lst+[1]
if lst[-1] == 2:
lst.pop()
return lst.append([1,1])
else:
return "Should never get here"


print factor_exp([1])
print factor_exp([2])
print factor_exp([1,2])

但这会返回:

>>> 
[1]
None
None

为什么会出现“None”?在此先感谢您提供任何帮助或见解。

最佳答案

我没有研究你的代码,但我会说它是针对这一行的:

return lst.append([1,1])

list.append() 总是返回 None

因此 lst.append([1,1]) 会将 [1,1] 附加到 lst 并返回 None

关于Python 函数返回 None,不清楚原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10459673/

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