Python - 动态更改参数数量[重复]

Posted

技术标签:

【中文标题】Python - 动态更改参数数量[重复]【英文标题】:Python - Dynamically change number of arguments [duplicate] 【发布时间】:2018-12-02 06:59:16 【问题描述】:

我想根据不断变化的集合数计算笛卡尔积。

可以使用itertools.product(*args, repeat=1) 计算笛卡尔积

itertools.product(set1, set2, repeat=1)

但是集合的数量实际上是未知的,这取决于数据。有时可能是 2 组,有时是 3 组或更多。

有没有办法提交 *args 以便它可以动态更改参数的数量?

myargs = [set1, set2, set3]
itertools.product(myargs,repeat=1)

【问题讨论】:

【参考方案1】:

是的,有这样的方法。使用* 参数扩展运算符:

myargs = [set1, set2, set3]
itertools.product(*myargs,repeat=1)

参考:

https://docs.python.org/3/reference/expressions.html#calls

【讨论】:

以上是关于Python - 动态更改参数数量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python函数的动态参数[重复]

如何在 C# 中声明具有动态参数的函数 [重复]

在参数中调用具有多个动态元组的 Python 函数 (geopy.distance.great_circle()) [重复]

Python全栈__动态参数名称空间作用域作用域链加载顺序函数的嵌套globalnonlocal

Python入门-6面向对象编程:05方法没有重载-方法的动态性

10. Python函数的进阶