在Python中将列表元素作为单独项返回

3 投票
1 回答
10576 浏览
提问于 2025-04-18 02:29

大家好,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 拆开,变成单独的参数。

撰写回答