[英]Passing a list as several arguments
我正在尝试使用列表作为参数,使用:
>>> l = [1,2,3]
>>> print( *l )
我有一个错误:
File "<stdin>", line 1
t*
^
SyntaxError: invalid syntax
我正在使用python 2.7:
>>> import sys
>>> print sys.version
2.7.3 (default, Jan 2 2013, 13:56:14)
[GCC 4.7.2]
我想念什么? 谢谢 ! :)
默认情况下, print
在Python 2.7中不是功能。 要使用函数而不是给定模块中的语句,请使用future语句:
from __future__ import print_function
这需要放在文件的顶部,而不是不是future语句(或模块docstring)的任何代码之前,因为编译器需要先查看future语句,然后才能根据future语句以不同的方式编译模块的其余部分。
在Python 2.7中print
不是函数。 这是一个声明。 所以,你应该做
print l # [1, 2, 3]
如果你想使用print
在Python 2.7的功能,你应该导入print_function
从__future__
,像这样
from __future__ import print_function
l = [1,2,3]
print(l) # [1, 2, 3]
print(*l) # 1 2 3
如果要使用print
作为函数,则必须使用__future__
或将python升级到3+
这是您要搜索的吗?
>>> l = [1, 2, 3]
>>> def x(*args):
... print args[0]
... print args
>>> x(*l)
1
(1, 2, 3)
如果是,请同时查看Python文档中的“ 任意参数列表 ”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.