繁体   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