如何将列表的所有元素转移到要求* args的函数中?

我正在用head调用第三方函数def foo(*args),因此通常我可以以这种方式使用它foo(a,b,c)

但是,现在我有一个清单li = [a,b,c]。我不知道它有多少元素,直到运行时。如何将列表的所有元素foo作为参数传送到函数中。

我尝试了foo(li)foo(tuple(li)),但是它们不起作用。请帮忙。


炎炎设计
浏览 219回答 2
2回答

繁星淼淼

使用*而调用该函数,*用于拆包函数调用期间的序列为单独的位置参数:foo(*li)演示:>>> def foo(*args): print (args)>>> foo(*range(10))(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

鸿蒙传说

尝试通过之前传递li一个*,如foo(*li):li = [1, 2, 3, 4, 5]foo(*li)例如:>>> def f(*args):...     print args...>>> li = [1,2,3]>>> f(*li)(1, 2, 3)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python