[英]Unpacking list and assigning it to variable
对于这段代码,
a=[1,2,3,4,5]
print(*a)
当列表a
被解压时,我会得到1 2 3 4 5
输出。
但是如果我想将
*a
分配给变量x
然后打印怎么办?
a=[1,2,3,4,5]
x=*a
print(x)
如何获得与上述代码相同的输出?
要从print
获得相同的输出,请编写x = ' '.join(str(s) for s in a)
。 但是,那不是解包,这里也没有办法用解包来达到同样的效果。
解包运算符*
只能出现在函数参数或赋值目标的上下文中。 您的原始示例对print
函数的参数使用解包。 使用解包的另一种方法是在解构赋值中,在这种情况下,它会创建一个列表; 例如:
>>> first, *rest = [1, 2, 3, 4, 5]
>>> first
1
>>> rest
[2, 3, 4, 5]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.