0

フロート値のリストがありますが、異なる場合と異なる場合があります。このリストで最も高い値の1つのランダムに選択されたリストインデックスを見つけるにはどうすればよいですか?

コンテキストが興味深い場合:私はペンと紙のゲームBattleshipのソルバーを書こうとしています。各フィールドでヒットする確率を計算してから、ソルバーが最も可能性の高いスポットの1つでシュートするようにします。つまり、可能性リストで最も可能性の高いインデックスを取得し、ゲームエンジンにこれを伝えます。私の選択としてインデックス。すでに最初の動きは、それが起こり得ること、同じ可能性のある分野がたくさんあることを示しています。この場合、それらの1つをランダムに選択することは理にかなっています(常に最初のものなどを選択するだけではありません)。

4

1 に答える 1

4

リスト内の最大値のすべての位置を見つける方法を使用して最大値を見つけますか?。次に、を使用してリストからランダムに選択しrandom.choiceます。

>>> m = max(a)
>>> max_pos = [i for i, j in enumerate(a) if j == m]
>>> random.choice(max_pos)
于 2012-04-09T14:26:35.470 に答える