簡體   English   中英

如何從 Python 中的多個來源生成隨機字符?

[英]How to generate random character from more than one source in Python?

我正在嘗試生成一些隨機字符,但我想包含 string.letters、string.digits 和 string.punctuation。 我可以做其中任何一個,但是如何包含所有三個(或其他)源/常量?

import random
import string

for i in range(0,4):
    print(random.choice(string.ascii_letters))

此代碼將選擇一個字母 - 還想包括數字和標點符號...

只需使用您想要的所有東西制作一個來源:

import random
import string

source = string.ascii_letters + string.punctuation + string.digits

for i in range(0,4):
    print(random.choice(source))

印刷:

E
)
2
h

您可以創建一個包含所有您想要的字符的列表,並從中采樣。

#!/usr/bin/python

import random
import string

alphabet = string.ascii_letters + string.digits + string.punctuation

for i in range(0,4):
    print(random.choice(alphabet))

如果您的列表真的很大並且您不想創建一個巨大的字母表,您可以從字母表中進行加權隨機抽樣(按大小加權),然后從每個字母表中進行均勻隨機抽樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM