3

Python で大量のリストを生成する必要があります。すべてのリストの長さは 13 で、各要素に入れることができる 4 つの可能な値があります。これらは [1, -1, i, -i] ですが、何でもかまいません。

したがって、件名の情報を考えると、4 * 4 * 4 ... * 4 = 4^13 = 67,108,864 個のリスト、またはより一般的には m^n のリストを取得する必要があります。

Python の itertools で conversion_with_replacement メソッドを試しましたが、次のコードでは 560 の結果しか得られません。

c = it.combinations_with_replacement([1,-1,np.complex(0,1), np.complex(0,-1)], 13)
print list(c)

組み合わせは順序を気にしないことを知っているので、この結果はおそらく正しいでしょう。ただし、代わりに順列メソッドを使用すると、2 番目の引数 <= 1 番目の引数の要素数しか選択できません。

これを達成する方法はありますか?

ありがとう!

4

1 に答える 1

7

私はあなたが欲しいと思います

y = itertools.product((1, -1, 1j, -1j), repeat=13)


次に、ところで、期待どおりに、がprint sum(1 for x in y)印刷されます。67108864

于 2010-10-05T01:37:34.260 に答える