gpt4 book ai didi

Python:一个函数可以返回一个数组和一个变量吗?

转载 作者:太空狗 更新时间:2023-10-29 17:58:48 26 4
gpt4 key购买 nike

有没有一种简单的方法可以让函数返回一个 np.array 和一个变量?

例如:

my_array = np.zeros(3)
my_variable = 0.

def my_function():
my_array = np.array([1.,2.,3.])
my_variable = 99.
return my_array,my_variable

my_function()

以便函数中计算的值可以在以后的代码中使用?以上忽略了函数中计算的值。

我尝试返回一个元组 {my_array, my_variable} 但得到了 np.array 的不可散列类型消息

DN

最佳答案

你的函数是正确的。当您编写 return my_array,my_variable 时,您的函数实际上返回一个元组 (my_array, my_variable)

您可以先将 my_function() 的返回值赋给一个变量,也就是我描述的这个元组:

result = my_function()

接下来,由于您提前知道元组中有多少项,您可以 unpack the tuple分为两个不同的值:

result_array, result_variable = result

或者你可以一行完成:

result_array, result_variable = my_function()

与返回元组和元组解包相关的其他注释:

有时,如果我的函数可以在非异常失败或空情况下返回 None,我会将这两个步骤分开:

result = my_function()
if result == None:
print 'No results'
return
a,b = result
# ...

除了解包,您还可以使用元组的索引访问指定的项目:

result = my_function()
result_array = result[0]
result_variable = result[1]

如果出于某种原因你有一个单项元组:

return (my_variable,)

您可以使用相同的(有点笨拙的)单逗号语法将其解压缩:

my_variable, = my_function()

关于Python:一个函数可以返回一个数组和一个变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19507501/

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