Pythonでランダム文字列を作る

Pythonを使ってランダムな文字列を作ってみます。

要素になる文字は string.ascii_letters (英大文字と英小文字)とします。

まず、string.ascii_lettersから文字を ランダムに選んで みます。

>>> import string
>>> import random
>>> random.choice(string.ascii_letters)
't'

これを文字列の長さ分だけ繰り返したリストにしてみます。 リストの内包表記 を使います。

>>> import string
>>> import random
>>> [random.choice(string.ascii_letters) for i in range(8)]
['l', 'm', 'S', 'q', 'Z', 'm', 'c', 'V']

あとは join で要素をつないで文字列にします。

>>> import string
>>> import random
>>> ''.join([random.choice(string.ascii_letters) for i in range(8)])
'PxebNIui'

string.ascii_lettersの文字列を変えれば、例えば数字の羅列であるとか、いろいろとバリエーションができます。

広告

Pythonの文字列処理カテゴリの投稿