gpt4 book ai didi

python - 不明白为什么解包没有按预期工作

转载 作者:太空狗 更新时间:2023-10-30 02:51:35 24 4
gpt4 key购买 nike

Python 解包不工作

a = [1,2,3,4]
*m = a; //error

b,*m = a
print(m) //working

请解释为什么前一个不起作用。

最佳答案

根据 PEP-3132 ,它引入了这个“扩展的可迭代拆包” 语法,以及 language reference ,“星号”目标仅在目标为可迭代的赋值中有效。

It is also an error to use the starred expression as a lone assignment target, as in

*a = range(5)

This, however, is valid syntax:

*a, = range(5)

因此,为了使其在语法上有效,您可以这样做:

*m, = a

甚至:

[*m] = a

但是请注意,创建列表的浅拷贝的惯用方法是使用切片:

m = a[:]

关于python - 不明白为什么解包没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55322570/

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