Pythonで範囲から要素をランダムに選択する方法|randrange()関数の使い方
randrange()関数とは
Pythonのrandomモジュールに含まれるrandrange()関数を使うと、指定した範囲の数値の中からランダムに1つの整数を選択できます。乱数が必要なシミュレーションやゲーム開発など、さまざまな場面で活用できる便利な関数です。
関数の書式
randrange(start, stop, step)
各引数の意味は以下のとおりです。
- start:範囲の開始値(省略した場合は0)
- stop:範囲の終了値(この値自体は範囲に含まれません)
- step:増分(省略した場合は1)
使用例
以下は、randrange()関数を使った具体的なコード例です。
>>> import random
>>> x = random.randrange(10, 20, 2) # 10〜20の間の偶数から選択
>>> x
16
>>> x = random.randrange(1, 100, 2) # 0〜100の間の奇数から選択
>>> x
55
最初の例では、10以上20未満の偶数(10, 12, 14, 16, 18)の中からランダムに1つが選ばれます。2番目の例では、1以上100未満の奇数から選択されます。実行するたびに結果が変わるため、毎回異なる値が得られる点に注意してください。
補足:randint()との違い
類似の関数としてrandom.randint(a, b)があります。randint()は「a以上b以下」の整数を返すのに対し、randrange()は終了値を含まず、さらにstepを指定できる点が特徴です。特定の間隔(偶数のみ、5の倍数のみなど)で乱数を取得したい場合には、randrange()が特に便利です。
-
【Python入門】正規表現でテキストから数値を抽出する方法をわかりやすく解説
Pythonでテキスト処理を行う際、「文章の中から数字だけを取り出したい」という場面は非常によくあります。そんなときに活躍するのが、標準ライブラリの re モジュールと正規表現です。この記事では、目的別に使える抽出パターンをサンプルコード付きで解説します。 数字を1文字ずつ個別に抽出する テキスト内のすべての数字を1桁ずつバラバラに抽出したい場合は、正規表現パターン \d を使用します。\d は「半角数字1文字」にマッチするメタ文字です。 サンプルコード import re s = 12345 abcdf 67 result = re.findall(r\d, s) print(result
-
Pythonで文字列から数字を抽出する方法【isdigitと正規表現の使い分け】
正の整数だけを抽出するシンプルな方法文字列に含まれる正の整数だけを取り出したい場合は、split()で空白ごとに文字列を分割し、isdigit()で各要素が数字のみで構成されているかを判定する方法が手軽です。>>> s = h3110 23 cat 444.4 rabbit 11 2 dog >>> [int(x) for x in s.split() if x.isdigit()] [23, 11, 2]この方法では、すべてが数字で構成された要素だけが整数に変換されてリストに追加されます。そのため「h3110」のように文字と数字が混ざった語句や、「444.