Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

List/Tupleからランダム個数の要素をとる

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'