python random.sample(“abc”,3)。如何使用正则表达式代替“引用”;abc";

python random.sample(“abc”,3)。如何使用正则表达式代替“引用”;abc";,python,regex,Python,Regex,我正在尝试使用random.sample在python中生成随机数。这就是我编写代码的方式 import random r = "".join(random.sample("abcdefghijklmnopqrstuvwxyz", 10)) 上述代码生成长度为10的随机数,其字母由字母a-z填充。我怎样才能使用像[a-z]这样的正则表达式呢?就用这个吧 >>> from string import ascii_lowercase, ascii_uppercase >&g

我正在尝试使用random.sample在python中生成随机数。这就是我编写代码的方式

import random
r = "".join(random.sample("abcdefghijklmnopqrstuvwxyz", 10))
上述代码生成长度为10的随机数,其字母由字母a-z填充。我怎样才能使用像[a-z]这样的正则表达式呢?

就用这个吧

>>> 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'