我有一个函数,它接受可变数量的变量作为参数。some_list我如何将下面示例中的内容发送到我的myfunc2()
def myfunc1(*args):
arguments = [i for i in args]
#doing some processing with arguments...
some_list = [1,2,3,4,5] # length of list depends on what was passed as *args
var = myfunc2(???)
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一方法是将列表或元组作为myfunc2()参数传递,但也许有一个更优雅的解决方案,所以我不必重写myfunc2()和其他几个函数。
args是一个元组。*args转换arg为参数列表。您定义myfunc2的方式与myfunc1:
def myfunc2(*args):
pass
Run Code Online (Sandbox Code Playgroud)
要传递参数,您可以一一传递:
myfunc2(a, b, c)
Run Code Online (Sandbox Code Playgroud)
石斑鱼与*操作员:
newargs = (a, b, c)
myfunc2(*newargs)
Run Code Online (Sandbox Code Playgroud)
或结合使用这两种技术:
newargs = (b, c)
myfunc2(a, *newargs)
Run Code Online (Sandbox Code Playgroud)
同样适用于**运算符,它将 dict 转换为命名参数列表。
| 归档时间: |
|
| 查看次数: |
8141 次 |
| 最近记录: |