我想将字典中的项目传递给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
答案 0 :(得分:0)
您不能将任意数量的参数传递给组合(),因为它被编写为可迭代的。 r参数用于表示您希望从迭代中获得的组合长度。
https://docs.python.org/3/library/itertools.html#itertools.combinations