gpt4 book ai didi

python - 从返回的两次解包的简洁方法

转载 作者:行者123 更新时间:2023-12-04 23:11:41 24 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我从搜索中找不到任何东西。

我知道如果我想将返回的元组解包成多个变量,语法是 A,B = myfunction()
如果我的函数返回一个列表元组,例如 ( [1], [2] ) 怎么办? ,我想分配给我的变量整数 12而不是列表 [1][2] ?是否有一个速记一个类轮或者我需要做

A, B = myfunction()
A = A[0]
B = B[0]

在此先感谢您的帮助。

最佳答案

使用相同的结构:

[A], [B] = myfunction()

演示:
>>> def myfunction():
return ( [1], [2] )

>>> [A], [B] = myfunction()
>>> A
1
>>> B
2

关于 DeepSpace 的评论“这会创建 2 个新列表”:它没有:
>>> import dis
>>> dis.dis('[A], [B] = myfunction()')
1 0 LOAD_NAME 0 (myfunction)
2 CALL_FUNCTION 0
4 UNPACK_SEQUENCE 2
6 UNPACK_SEQUENCE 1
8 STORE_NAME 1 (A)
10 UNPACK_SEQUENCE 1
12 STORE_NAME 2 (B)
14 LOAD_CONST 0 (None)
16 RETURN_VALUE

这是创建列表的样子:
>>> dis.dis('[A]')
1 0 LOAD_NAME 0 (A)
2 BUILD_LIST 1
4 RETURN_VALUE

上下文很重要。

关于python - 从返回的两次解包的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60138370/

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