Python中是否有内置的方法/模块来生成字母,例如内置的常量LETTERS或R中的常量字母?R内置常量的作用是letters[n],如果n = 1:26,则产生字母表中的小写字母。谢谢。
letters[n]
n = 1:26
oyjwcjzk1#
它被称为string.ascii_lowercase。如果你想选择 n 个随机的小写字母,那么:
string.ascii_lowercase
from string import ascii_lowercase from random import choice letters = [choice(ascii_lowercase) for _ in range(5)]
如果你想把它作为一个字符串,而不是一个列表,那么使用str.join:
str.join
letters = ''.join([choice(ascii_lowercase) for _ in range(5)])
xwbd5t1u2#
你可以像下面这样使用map:
map
>>> map(chr, range(65, 91)) ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] >>> map(chr, range(97, 123)) ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] >>> a = map(chr, range(65, 70)) >>> a ['A', 'B', 'C', 'D', 'E']
ev7lccsx3#
有了上面的列表解析和引用,还有另一种方法:
>>> [chr(x) for x in range(97, 123)] ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
62lalag44#
还有一种方法,它会直接给予你一个字符串:
>>> bytearray(range(97,123)).decode("utf-8") u'abcdefghijklmnopqrstuvwxyz'
(it python2和python3都可以使用,当然如果是python3,u前缀将不可见)显然,你可以像在其他答案中一样将该字符串转换为列表,如果这是你喜欢的,例如:
>>> [x for x in bytearray(range(97,123)).decode("utf-8")] ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
也很容易将其更改为随机选择n个字母(允许重复):
>>> import random >>> n = 10 >>> bytearray(random.randint(97, 122) for x in range(n)).decode('utf-8') 'qdtdlrqidx'
或者不重复:
>>> import random >>> n = 10 >>> bytearray(random.sample(range(97, 123),n)).decode('utf-8') 'yjaifemwbr'
rkkpypqq5#
对很多人来说更易读的是map(chr,range(ord(“A”),ord(“Z”))
5条答案
按热度按时间oyjwcjzk1#
它被称为
string.ascii_lowercase
。如果你想选择 n 个随机的小写字母,那么:
如果你想把它作为一个字符串,而不是一个列表,那么使用
str.join
:xwbd5t1u2#
你可以像下面这样使用
map
:ev7lccsx3#
有了上面的列表解析和引用,还有另一种方法:
62lalag44#
还有一种方法,它会直接给予你一个字符串:
(it python2和python3都可以使用,当然如果是python3,u前缀将不可见)
显然,你可以像在其他答案中一样将该字符串转换为列表,如果这是你喜欢的,例如:
也很容易将其更改为随机选择n个字母(允许重复):
或者不重复:
rkkpypqq5#
对很多人来说更易读的是
map(chr,range(ord(“A”),ord(“Z”))