python - 将值数组传播到函数调用中的参数
问题描述
我得到一个值数组,我想将它们发送到具有相同参数计数的预定义函数。
天真的方法是:
values = [1,2,3,4] # getting it from outside
if len(values) == 1:
func(values[0])
elif len(values) == 2:
func(values[0], values[1])
.
.
.
有没有更优雅的方式?
解决方案
您可以使用任意参数列表
def func(*args):
for arg in args:
print(arg)
values = [1]
func(*values)
values = [1, 2]
func(*values)
func(1)
func(1,2)
输出将是
1
1
2
或者只是将整个数组传递给函数func(values)
def func(values):
for value in values:
print(value)
values = [1]
func(values)
values = [1, 2]
func(values)
推荐阅读
- javascript - 在组件中使用服务变量更改与从服务订阅事件有什么区别?
- react-native - 将 React-Navigation 中的状态从 TabsNavigation 传递到子 StackNavigation
- azure - 在 CSP 订阅中使用 Azure 云服务的替代方法
- c++ - 如何使用 AVX 指令编译 eigen
- pandas - 过滤具有特定条件的 Pandas 列?
- jmeter - JMS 点对点 Jmeter 负载测试 - NoInitialContextException
- android - 如何从具有 Recyclerview 和 Cardview 的活动导航到另一个活动
- vim - 当我在 vim 的插入模式下按 alt-tab 时添加了奇怪的字符
- javascript - 如何通过函数更新 $scope 变量
- c++ - 通过 C++ 中的函数传递未指定大小的数组