*运算符如何在python中工作

时间:2018-08-17 17:00:12

标签: python python-2.x

我知道它会扩展函数参数,但是如果我在Python 2中尝试类似的方法,

x = [1,2,3]
print *x # SyntaxError: invalid syntax
print [*x] # SyntaxError: invalid syntax

所以看来我缺少*确切的功能?

1 个答案:

答案 0 :(得分:3)

*运算符将序列/可迭代元素(例如,列表或元组)中的元素解压缩为函数的位置参数

在python2上,print是语句而不是函数。因此,从将来导入打印功能,以便您使用*运算符将列表元素解包为参数

>>> from __future__ import print_function
>>> print (*x)
1 2 3

在python3上,print是一个函数。因此,您可以直接使用*运算符

>>> print (*x)
1 2 3