0
置換(反復)せずに範囲内にk個の乱数を生成する関数がありますか?ルビーの置換を伴わないランダムサンプリング
>>> import random
>>> random.sample(range(1, 100), 3)
[77, 52, 45]
置換(反復)せずに範囲内にk個の乱数を生成する関数がありますか?ルビーの置換を伴わないランダムサンプリング
>>> import random
>>> random.sample(range(1, 100), 3)
[77, 52, 45]
あなたは、範囲を作成し、配列の範囲を変換した後、サンプル数を指定する引数を取ることができ、Array::sampleを呼び出すことができます。
(1..100).to_a.sample(3)
以下のように
Pythonでrandom.sample機能のようなものあなたはこれを使用することができます:
(1..100).to_a
が可能で、配列を作成します。 (1..100).to_a.shuffle[0..2] #=> [13, 36, 88]
値。
.shuffle
はランダムに配列をソートします。[0..2]
グラブシャッフルされた配列の最初の3要素。
FWIW:[Array :: sample](https://ruby-doc.org/core-2.4.0/Array.html#method-i-sample)があります。 – orde
@ordeこれは正しいです。これを本格的な答えにしてください。 –