「パスワードの作成」や「ダミーデータの作成」など不規則に並んだデータを生成したい時があるかと思います。
この記事では、Pythonでランダムな文字列を作成する方法を紹介します。
ランダムな文字列を生成する方法
サンプルコード
import random
import string
def get_random_data(len):
random_list = [random.choice(string.ascii_letters + string.digits + string.punctuation) for _ in range(len)]
return ''.join(random_list)
random_data = get_random_data(10)
print(random_data)
コードの解説
【1行目】
指定された文字列からランダムに文字を取得する為のモジュールを読み込んでいます。
import random
【2行目】
文字列定数を扱う為のモジュールを読み込んでいます。
import string
【4行目】
引数に設定された文字サイズのランダムなデータを返却する関数となっています。
def get_random_data(len):
【5行目】
『rondom.choice』で与えられた文字列からリストデータを取得しています。また、文字サイズ分の繰り返し処理を行っています。
『string.ascii_letters』は大文字と小文字のアルファベット
『string.digits』は0~9までの数字
『string.punctuation』は区切り文字として扱われるASCII文字
random_list = [random.choice(string.ascii_letters + string.digits + string.punctuation) for _ in range(len)]
【6行目】
リストデータを結合して返却しています。
return ''.join(random_list)
まとめ
ランダムなデータを作成する時は
『random.choice』に任意の文字列を設定してリストデータを作成する(繰り返し処理を使って文字サイズ指定する)
『join』でリストデータを結合する