我正在尝试使用 random.sample 在 python 中生成随机数。这就是我编写代码的方式。
import random
r = "".join(random.sample("abcdefghijklmnopqrstuvwxyz", 10))
上面的代码生成长度为 10 的随机数,其字母由字母 az 填充。我怎样才能在那里使用像 [az] 这样的正则表达式?
改用这个
>>> from string import ascii_lowercase, ascii_uppercase
>>> ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
如果要生成数字,可以使用range
>>> map(str, range(10))
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
如果您有方便的 pyparsing 模块,则可以使用 srange 方法将正则表达式字符集扩展为字符串:
>>> from pyparsing import srange
>>> srange('[a-z]')
u'abcdefghijklmnopqrstuvwxyz'
>>> srange('[a-z0-9]')
u'abcdefghijklmnopqrstuvwxyz0123456789'