List/Tupleからランダム個数の要素をとる方法です。
実際のところ
標準ライブラリのrandomについている関数、choiceとchoicesを使います。
choiceは一個、choicesはkの値の個数分とってくれます。
stringライブラリの定数を使って文字列を生成。
それを使って、実験してみます。
from random import choice from random import choices alphabet = string.ascii_letters + string.digits # 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' choice(alphabet) # 'L' choices(alphabet,k=4) # ['G', 'Z', '8', 'q'] choices(alphabet,k=4) # ['l', 'Q', 'k', 'E'] choices((1,1,2,4), k=2) # [1, 4]
これを組み合わせる事で、ランダム文字列を作る事ができます。
"".join(choice(alphabet) for i in range(8)) 'nuSXftUI'