Python解包不起作用
a = [1,2,3,4]
*m = a; //error
b,*m = a
print(m) //working
请解释为什么前一个不起作用。
最佳答案
根据 PEP-3132 ,它引入了这种“扩展的可迭代解包”语法,以及 language reference ,“加星标”目标仅在目标是可迭代的赋值中有效。
因此,要使其在语法上有效,您可以执行以下操作:
*m, = a
甚至:
[*m] = a
但是请注意,创建列表浅拷贝的惯用方法是使用切片:
m = a[:]
关于python - 不明白为什么解包没有按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55322570/