gpt4 book ai didi

python - list() 与 Python 3.5+ 中的可迭代拆包

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

在支持后者的 Python 版本中,list(iterable)[*iterable] 之间有什么实际区别吗?

最佳答案

list(x) 是一个函数,[*x] 是一个表达式。您可以重新分配 list,并让它做其他事情(但您不应该这样做)。

谈到 cPython,b = list(a) 转换为这个字节码序列:

LOAD_NAME                1 (list)
LOAD_NAME 0 (a)
CALL_FUNCTION 1
STORE_NAME 2 (b)

相反,c = [*a] 变成:

LOAD_NAME                0 (a)
BUILD_LIST_UNPACK 1
STORE_NAME 3 (c)

因此您可以争辩说 [*a] 可能 稍微更有效率,但略微如此。

关于python - list() 与 Python 3.5+ 中的可迭代拆包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52539466/

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