Python

【Python】ランダムな文字列を生成する

ランダムな文字列作成する方法

「パスワードの作成」や「ダミーデータの作成」など不規則に並んだデータを生成したい時があるかと思います。

この記事では、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』でリストデータを結合する