在Python中将列表元素作为单独项返回
大家好,Stackoverflow的朋友们,
我有一个函数,它会计算出一个列表,我想把这个列表里的每个元素单独返回,就像这样(接收这个返回值的函数是可以处理不定数量参数的):
def foo():
my_list = [1,2,3,4]
return 1,2,3,4
但是这个列表里的元素数量是不确定的,所以我不能这样做:
return my_list[0], my_list[1], ...
我觉得应该有简单的解决办法,但我就是想不明白。有没有什么建议?谢谢!
编辑:感谢大家的回答,这里是我问题的进一步说明,实际上这才是我的问题:
def foo():
my_list = [1,2,3,4]
return "any_other_value", my_list
所以,我想要的是,当我调用 foo()
时,bar = foo()
,然后 bar[0] = "any_other_value", bar[1] = 1, bar[2]=3, bar[3] = 4
。而 my_list
的长度是不确定的(这里它只有4个元素)。
1 个回答
1
你把事情想得太复杂了。其实只要按照你之前的做法来就行了(我想你可以把它转换成你现在展示的样子,用 tuple(my_list)
,但这样做其实没必要):
return my_list
你只需要这样做,因为当你调用那个可以接收不定数量参数的函数时,你可以直接这么调用:
function_with_undefined_number_of_params(*foo())
这里的 *
是把返回的 list
拆开,变成单独的参数。