1. HOME»
  2. プログラミング・Web»
  3. Python»
  4. Pythonでrandomを使う。乱数の生成やランダムに選択する関数まとめ

Pythonでrandomを使う。乱数の生成やランダムに選択する関数まとめ

今回は、Pythonでランダムな数値を生成したり、リストのなかからランダムに選択、リストの順番をシャッフルする方法など、randomモジュールで使える関数をまとめました。

しっかり覚えて、目的に合ったものをすぐに使えるように、学んでいきましょう。

目次
  1. Pythonでランダムを扱う関数の一覧
  2. random.random() 「0.0以上、1.0未満」の乱数を生成(小数)
  3. random.uniform( a, b ) 「a以上、b以下」の乱数を生成(小数)
  4. random.randrange( a ) 「0以上、a未満」の乱数を生成(整数)
  5. random.randrange( a, b ) 「a以上、b未満」の乱数を生成(整数)
  6. random.randrange( a, b, c ) 「a以上、b未満、c間隔」の乱数を生成(整数)
  7. random.randint( a, b ) 「a以上、b以下」の乱数を生成(整数)
  8. random.choice( [ a, b, c ] ) 「a、b、c、のうちのどれかひとつ」を返す
  9. random.choices( [ a, b, c ], k=d ) 「a、b、c、のうちから、d個」返す(重複あり)
  10. random.sample( [ a, b, c ], k=d ) 「a、b、c、のうちから、d個」返す(重複なし)
  11. random.shuffle( [ a, b, c ] ) リスト(配列)の順番をシャッフルする
  12. まとめ

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モジュールで使える、さまざまな関数の使い方をまとめました。

ランダムな値を取得したり、リストの順番を入れ替えたりするのは、開発のいろんな場面で役立ちます。

さまざまなものがありますので、目的にあったものをすぐに思い出せるようになると、開発も捗ると思います。

オリジナルゲーム.com