如何在Python中将列表扩展为函数参数

2024-06-01 09:58:33 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有语法允许您将列表扩展到函数调用的参数中?

示例:

# Trivial example function, not meant to do anything useful.
def foo(x,y,z):
   return "%d, %d, %d" %(x,y,z)

# List of values that I want to pass into foo.
values = [1,2,3]

# I want to do something like this, and get the result "1, 2, 3":
foo( values.howDoYouExpandMe() )

Tags: to示例列表参数fooexample语法not
3条回答

它存在,但很难找到。我想大多数人把它叫做“splat”运算符。

它在文档中是“Unpacking argument lists”。

你可以这样使用它:foo(*values)。还有一本字典:

d = {'a': 1, 'b': 2}
def foo(a, b):
    pass
foo(**d)

您应该使用*运算符,比如foo(*values)读取Python文档unpackaging argument lists

另外,请阅读以下内容:http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/

def foo(x,y,z):
   return "%d, %d, %d" % (x,y,z)

values = [1,2,3]

# the solution.
foo(*values)

请尝试以下操作:

foo(*values)

这可以在Python文档中找到Unpacking Argument Lists

相关问题 更多 >