如何将任意数量的参数传递给for循环?

时间:2015-11-19 06:47:10

标签: python python-3.x parameters arguments

我想将字典中的项目传递给for循环,这样我就可以将任意数量的被调用的字典项目传递给它。

我昨天整天都在尝试搜索它,但我找不到我理解的答案。

以下是代码:

import itertools

categories = {
    "cat1": ["House Cat", "Lion"],
    "cat2": ["House", "Apartment", "Cellar"],
    "cat3": ["Germany", "England", "USA", "Brazil"]
}

def find_unique_combinations(*args):
    args = args
    for combination in itertools.product(args):
        print(combination)

find_unique_combinations(categories["cat1"], categories["cat2"])

我也得到了这个错误:

TypeError: Required argument 'r' (pos 2) not found

1 个答案:

答案 0 :(得分:0)

您不能将任意数量的参数传递给组合(),因为它被编写为可迭代的。 r参数用于表示您希望从迭代中获得的组合长度。

https://docs.python.org/3/library/itertools.html#itertools.combinations