これが簡単な場合はお詫びしますが、私はしばらくの間探していて、単純で効率的な解決策を見つけることができません。
1と0のみで構成されるリストの2次元Pythonリストがあります。
例えば:
a=[[0,1,0],[0,1,1],[1,0,1]]
ランダムに、= 1であるランダム要素のインデックスを返したいと思います。この場合、次のいずれかを返します。
[0,1], [1,1], [1,2], [2,0], or [2,2]
等しい確率で。
構造内のすべての要素を反復処理し、適格なインデックスのリストをコンパイルしてから、random.choice(list)を使用してランダムに1つを選択することができますが、これは非常に遅いようで、よりきちんとした、よりPythonicな方法があると感じずにはいられませんこれに近づくために。私はおそらく20x20アレイでこれを実行し、何度も実行する必要があるので、可能な限り効率的に実行できます。
助けとアドバイスを事前に感謝します!