gpt4 book ai didi

Python - itertools.product() 内的 for 循环

转载 作者:行者123 更新时间:2023-12-01 09:08:47 24 4
gpt4 key购买 nike

我现在脑子有问题。

我有大量变量,每个变量可以处于两种状态。我想将它们组合成一个数组,为此我选择了 itertools.product。

所以基本上我需要的是类似的东西

a = ["A", "a"]
b = ["B", "b"]
c = ["C", "c"]
...
result = list(itertools.product(a,b,c,...)

如果我手写a、b、c,效果很好,但写那么多会很烦人。到目前为止,我的方法是将我的状态存储在我循环更新的字典中:

dict = {1: ["A","a"], 2: ["B","b"], ..., 300: ["XYZ", "xyz"]}

现在我想合并它

result = list(itertools.product([dict[i] for i in range(1,4)]))

现在我期待类似的事情

("A","B","C"),("A","B","c"),("A","b","C"),...,("a","b","c")

但是我得到了

(['A', 'a'],), (['B', 'b'],), (['C', 'c'],)

这是怎么发生的?又该如何解决呢?

最佳答案

itertools.product 接受可变数量的参数,而不是参数列表。因此,只需在列表前面放置一个 * 即可打开列表

itertools.product(*[dict[i] for i in range(1,4)])

关于Python - itertools.product() 内的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51828392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com