gpt4 book ai didi

python - 如何从 python 函数返回两个变量并访问其值而不调用它两次?

转载 作者:太空狗 更新时间:2023-10-29 22:20:40 25 4
gpt4 key购买 nike

假设我有以下功能:

def f():
return [1,2,3], [4,5,6]

我可以像下面这样成功调用这个函数:

a,b = f() 
print(a,b) #prints [1, 2, 3] [4, 5, 6]

但假设我只想访问第一个列表的第一项 (1) 和第二个列表的第一项 (4)。为此,我成功地调用了它:

a,b = f()[0][0], f()[1][0]
print(a,b) #prints 1 4

我不控制函数 f(),因为它是在库中编写的。

是否可以在 Python 中执行最后一个操作,而不调用函数两次并且不使用返回的 a 和 b 值?

最佳答案

使用 extended unpacking assignment :

>>> def f():
... return [1,2,3], [4,5,6]
...
...
>>> [a0, *rest], [b0, *rest] = f()
>>> a0, b0
(1, 4)

使用 zip-splat 技巧:

>>> next(zip(*f()))
(1, 4)

关于python - 如何从 python 函数返回两个变量并访问其值而不调用它两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55958882/

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