我有一个问题,理解从python中使用星号运算符从列表中解析参数的过程。python参数拆包令人费解的行为
我跟着documentation entry,并试图重新创建我自己的小例子。
所以我定义数字的简单列表:
list = [1, 2, 3]
,并做了一个快速检查,这个工程:
print(1, 2, 3)
(1, 2, 3)
,这(只是抬头):
print([1, 2, 3])
[1, 2, 3]
另一方面,此位失败:
print(*[1, 2, 3])
File "<stdin>", line 1
print(*[1, 2, 3])
^
SyntaxError: invalid syntax
而且这也失败:
print(*list)
File "<stdin>", line 1
print(*list)
^
SyntaxError: invalid syntax
我的文档中确信一切正常:
list = [1, 2]
range(*list)
[1]
它做到了。
我想了解从列表中解压缩参数的确切工作原理以及期望从中得到的结果,因为它看起来并不像我想象的那么直截了当。
你使用Python 2.7?在这种情况下,'print'语句不是一个函数,所以星形运算符将不会像您所期望的那样工作。 – Kevin
适用于python3.2! 你想回答,所以我会接受你的答案? –