今回は、Pythonでランダムな数値を生成したり、リストのなかからランダムに選択、リストの順番をシャッフルする方法など、randomモジュールで使える関数をまとめました。
しっかり覚えて、目的に合ったものをすぐに使えるように、学んでいきましょう。
- Pythonでランダムを扱う関数の一覧
- random.random() 「0.0以上、1.0未満」の乱数を生成(小数)
- random.uniform( a, b ) 「a以上、b以下」の乱数を生成(小数)
- random.randrange( a ) 「0以上、a未満」の乱数を生成(整数)
- random.randrange( a, b ) 「a以上、b未満」の乱数を生成(整数)
- random.randrange( a, b, c ) 「a以上、b未満、c間隔」の乱数を生成(整数)
- random.randint( a, b ) 「a以上、b以下」の乱数を生成(整数)
- random.choice( [ a, b, c ] ) 「a、b、c、のうちのどれかひとつ」を返す
- random.choices( [ a, b, c ], k=d ) 「a、b、c、のうちから、d個」返す(重複あり)
- random.sample( [ a, b, c ], k=d ) 「a、b、c、のうちから、d個」返す(重複なし)
- random.shuffle( [ a, b, c ] ) リスト(配列)の順番をシャッフルする
- まとめ
Pythonでランダムを扱う関数の一覧
Pythonでランダムな数値や文字列などを扱う関数、よく使うと思われるものの一覧です。
random.random() | 「0.0以上、1.0未満」の乱数を生成(小数) |
random.uniform( a, b ) | 「a以上、b以下」の乱数を生成(小数) |
random.randrange( a ) | 「0以上、a未満」の乱数を生成(整数) |
random.randrange( a, b ) | 「a以上、b未満」の乱数を生成(整数) |
random.randrange( a, b, c ) | 「a以上、b未満、c間隔」の乱数を生成(整数) |
random.randint( a, b ) | 「a以上、b以下」の乱数を生成(整数) |
random.choice( [ a, b, c ] ) | 「a、b、c、のうちのどれかひとつ」を返す |
random.choices( [ a, b, c ], k=d ) | 「a、b、c、のうちから、d個」返す(重複あり) |
random.sample( [ a, b, c ], k=d ) | 「a、b、c、のうちから、d個」返す(重複なし) |
random.shuffle( [ a, b, c ] ) | リスト(配列)の順番をシャッフルする |
では、それぞれの命令を使って、Pythonでランダムを扱ってみましょう。
random.random() 「0.0以上、1.0未満」の乱数を生成(小数)
random.random()
は、「0.0以上、1.0未満」の乱数を小数で生成するものです。
import random
print( random.random() )
実行結果
0.07136926591636561
random.uniform( a, b ) 「a以上、b以下」の乱数を生成(小数)
random.uniform( a, b )は、「a以上、b以下」の乱数を小数で生成するものです。
import random
print( random.uniform( 10, 20 ) )
この場合「10以上、20以下」で小数の乱数が返ります。
実行結果
12.759341715950189
random.randrange( a ) 「0以上、a未満」の乱数を生成(整数)
random.randrange( a )
は、「0以上、a未満」の乱数を整数で生成します。
import random
print( random.randrange( 20 ) )
この場合「0以上、20未満」の整数の乱数が返ります。
実行結果
13
random.randrange( a, b ) 「a以上、b未満」の乱数を生成(整数)
random.randrange( a, b )
は、「a以上、b未満」の乱数を整数で生成します。
import random
print( random.randrange( 10, 20 ) )
この場合「10以上、20未満」の整数の乱数が返ります。
実行結果
11
random.randrange( a, b, c ) 「a以上、b未満、c間隔」の乱数を生成(整数)
random.randrange( a, b, c )
は、「a以上、b未満、c間隔」の乱数を整数で生成します。
import random
print( random.randrange( 5, 100, 10 ) )
この場合「5以上、100未満」の整数から「10の間隔」をあけて、乱数を生成します。
実行結果
45
random.randint( a, b ) 「a以上、b以下」の乱数を生成(整数)
random.randint( a, b )
は、a以上、b以下」の乱数を整数で生成します。
import random
print( random.randint( 10, 20 ) )
この場合「10以上、20以下」の整数の乱数が返ります。
実行結果
19
random.choice( [ a, b, c ] ) 「a、b、c、のうちのどれかひとつ」を返す
random.choice( [ a, b, c ] )
は、「a、b、c、のうちのどれかひとつ」を返します。
import random
print( random.choice( [ 'ねこ', 'いぬ', 'ライオン' ] ) )
この場合「ねこ、いぬ、ライオン、のどれかひとつ」を返します。
実行結果
いぬ
random.choices( [ a, b, c ], k=d ) 「a、b、c、のうちから、d個」返す(重複あり)
random.choices( [ a, b, c ], k=d )
は、「a、b、c、のうちから、d個」重複ありで返します。
import random
print( random.choices( [ 'ねこ', 'いぬ', 'ライオン' ], k=5 ) )
この場合「ねこ、いぬ、ライオン、のなかから5つ」を、重複ありで返します。
実行結果
['いぬ', 'ライオン', 'ねこ', 'ライオン', 'いぬ']
random.sample( [ a, b, c ], k=d ) 「a、b、c、のうちから、d個」返す(重複なし)
random.sample( [ a, b, c ], k=d )
は、「a、b、c、のうちから、d個」重複なしで返します。
import random
print( random.sample( [ 'ねこ', 'いぬ', 'ライオン' ], k=2 ) )
この場合「ねこ、いぬ、ライオン、のなかから2つ」を、重複なしで返します。
実行結果
['ライオン', 'ねこ']
random.shuffle( [ a, b, c ] ) リスト(配列)の順番をシャッフルする
random.shuffle( [ a, b, c ] )は、リスト(配列)[ a, b, c ]の順番をシャッフルします。
import random
animals = [ 'ねこ', 'いぬ', 'ライオン' ]
random.shuffle( animals )
print( animals )
実行結果
['ねこ', 'ライオン', 'いぬ']
まとめ
今回は、Pythonのrandomモジュールで使える、さまざまな関数の使い方をまとめました。
ランダムな値を取得したり、リストの順番を入れ替えたりするのは、開発のいろんな場面で役立ちます。
さまざまなものがありますので、目的にあったものをすぐに思い出せるようになると、開発も捗ると思います。