ホームページ > バックエンド開発 > Python チュートリアル > Pythonで大文字と数字を含むランダムな文字列を生成するにはどうすればよいですか?

Pythonで大文字と数字を含むランダムな文字列を生成するにはどうすればよいですか?

DDD
リリース: 2024-12-06 16:01:15
オリジナル
448 人が閲覧しました

How to Generate Random Strings with Uppercase Letters and Digits in Python?

大文字と数字を使用したランダムな文字列の生成

数字と大文字の英字を組み合わせることで、指定した長さのランダムな文字列を生成できます。これは一般に、一意の識別子またはセキュリティ関連のコードを生成するために使用されます。関係する手順は次のとおりです:

文字セットの作成:

最初の手順は、大文字と数字で構成される文字セットを作成することです。 Python の文字列モジュールは、この目的のために ascii_uppercase と数字の定数を提供します。

character_set = string.ascii_uppercase + string.digits
ログイン後にコピー

ランダム文字の生成:

文字セットからランダムな文字を生成するには、random を使用します。 .choice() 関数。これをリスト内包表記内に配置して、必要な長さのリストを作成します:

random_characters = [random.choice(character_set) for _ in range(N)]
ログイン後にコピー

文字列に変換:

最後に、ランダムな文字のリストを変換する必要があります。に文字列:

random_string = ''.join(random_characters)
ログイン後にコピー

例:

提供された 1 行ソリューションの使用:

random_string = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(N))
ログイン後にコピー

あるいは、random.choices( ) 関数 (Python 3.6 ):

random_string = ''.join(random.choices(string.ascii_uppercase + string.digits, k=N))
ログイン後にコピー

再利用可能な関数:

再利用可能にするために、カスタム関数を作成します:

def id_generator(size=6, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))
ログイン後にコピー

使用法:

次のコマンドを使用して 6 文字のランダムな文字列を生成します。関数:

>>> id_generator()
'G5G74W'
ログイン後にコピー

カスタム文字セットを使用して 3 文字のランダムな文字列を生成します:

>>> id_generator(3, "6793YUIO")
'Y3U'
ログイン後にコピー

以上がPythonで大文字と数字を含むランダムな文字列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート