首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中将列表扩展为函数参数

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

Stack Overflow用户
提问于 2011-10-13 04:11:06
回答 4查看 123K关注 0票数 178

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

示例:

代码语言:javascript
复制
# 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() )
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-13 04:13:10

它是存在的,但很难搜索。我想大多数人把它叫做"splat“运算符。

它在文档中被命名为"Unpacking argument lists“。

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

代码语言:javascript
复制
d = {'a': 1, 'b': 2}
def foo(a, b):
    pass
foo(**d)
票数 213
EN

Stack Overflow用户

发布于 2011-10-13 04:18:34

您应该使用*运算符,就像foo(*values)读取Python文档unpackaging argument lists一样。

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

代码语言:javascript
复制
def foo(x,y,z):
   return "%d, %d, %d" % (x,y,z)

values = [1,2,3]

# the solution.
foo(*values)
票数 83
EN

Stack Overflow用户

发布于 2011-10-13 04:13:07

尝试以下操作:

代码语言:javascript
复制
foo(*values)

这可以在Python文档中以Unpacking Argument Lists的形式找到。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7745952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档