是否可以使用单个数据结构传递给具有多个参数的函数?我想做类似以下的事情,但它似乎不起作用.
foo_bar = (123, 546)
def a(foo, bar):
print(foo)
print(bar)
Run Code Online (Sandbox Code Playgroud)
是否可以执行以下操作:
a(foo_bar)
Run Code Online (Sandbox Code Playgroud)
代替:
a(foo_bar[0], foo_bar[1])
Run Code Online (Sandbox Code Playgroud)
这样做的pythonic方法是什么?
aba*_*ert 16
你想要的是:
a(*foo_bar)
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅教程中的解压缩参数列表 ...但实际上没有比此更多的内容.
为完整起见,参考文档在Calls中:
如果语法
*expression出现在函数调用中,则expression必须求值为iterable.来自此迭代的元素被视为它们是附加的位置参数; 如果存在位置参数x1,...,xN,并且expression求值为序列y1,...,yM,则这相当于具有M + N个位置参数x1,...,xN,y1,...的调用. .,yM.
| 归档时间: |
|
| 查看次数: |
1649 次 |
| 最近记录: |