私はPythonの問題でブロックされており、誰かが私を助けてくれることを願っています。リストのすべての組み合わせを計算する方法
実際に問題はプレティシンプルです。
すべての組み合わせが可能なリストを作成しようとしていますが、リストの要素の範囲が同じではありません。
ここは私のコードですが、私はforループで何かをしようとしましたが、それは動作しません。
for j in range(0,size):
for k, val in enumerate(self.Algo.Inputs[j].Values):
self.Commandlist[j] = k
self.Commandlistは、修正範囲のリストで、最初はゼロで塗りつぶします。
self.Commandlist = [0,0,0]
self.Algo.Inputs [J] .Values self.Algo.Inputs [0]の場合、例えば、私の各要素の大きさを与えます。値= 4 self.Algo.Inputs [1] .Values = 1 self.Algo.Inputs [2] .Values =私はすべての組合せを望む2
、[0,0,0]、[1、 0,0]、[2,0,0]、[3,0,0]、[4,0,0]、[0,1,0]、[1,1,0]、[2,1、 0]、[3,1,0]、[4,1,0]など。
私はループを忘れてしまったと思います。私もitertoolsモジュールでいくつかのものを試しましたが、私はそれを動作させることはできません。
あなたの助けになります。
import itertools
a = b = c = range(3) # you can specify different range for each one
[list(x) for x in list(itertools.product(a, b, c))]
結果:
[[0、0、0]、[0、0、1]、[0、0
期待される出力は、範囲(x)のすべての可能な組み合わせを必要とします。例えば、0,1、... x-1; 1,0,2、...、x-1;等? – depperm
'itertools'モジュールを使いたいかもしれません。 –