Python 多参数解包

Python 多参数解包,python,python-2.7,Python,Python 2.7,我正在学习参数解包,发现它是一个有用的特性,我们可以直接检索列表中的值,而无需编写额外的代码行。 e、 g 但是如果一个列表中有三个、四个、十个或一百个值,我们就不能在一个函数中传递那么多的参数,那该怎么办呢 def simplePrint(*args): print args myList = [3,4,5] >>>simplePrint(*myList) (3,4,5) 哪个是元组 所以我的问题是我做错了什么吗?或者是否有一种方法可以像第一个示例那样直接

我正在学习参数解包,发现它是一个有用的特性,我们可以直接检索列表中的值,而无需编写额外的代码行。 e、 g

但是如果一个列表中有三个、四个、十个或一百个值,我们就不能在一个函数中传递那么多的参数,那该怎么办呢

def simplePrint(*args):
      print args


myList = [3,4,5]

>>>simplePrint(*myList)
(3,4,5)
哪个是元组

所以我的问题是我做错了什么吗?或者是否有一种方法可以像第一个示例那样直接检索值


提前感谢:)

使用
打印作为功能(使用)

或者只需调用
print
函数:

>>> print(*myList)
3 4 5

当你这样做的时候,扔掉
simplePrint
包装器,直接调用
print
。@user2357112,啊。。。添加了一个直接调用
print
的版本。谢谢你的建议。你给出的解决方案很有效。我得到了期望的输出。我想知道为什么我的版本不起作用?为什么在我的版本的函数simplePrint()中不能像您的版本那样解压列表值?@Anand,在Python 2.x中,
print
默认为语句。您不能在那里使用
*
运算符。@而且,您的代码只需打印
args
,这是一个包含所有位置参数的元组。
>>> from __future__ import print_function
>>>
>>> def simplePrint(*args):
...       print(*args)
...
>>> myList = [3,4,5]
>>> simplePrint(*myList)
3 4 5
>>> print(*myList)
3 4 5