字母表范围python

而不是像这样做一个字母表的列表:

alpha = ['a', 'b', 'c', 'd'.........'z'] 

有什么办法,我们可以将它分组到一个范围或东西? 例如,对于数字,可以使用range()

 range(1, 10) 
 >>> import string >>> string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz' 

如果你真的需要一个列表:

 >>> list(string.ascii_lowercase) ['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'] 

并与range做到这一点

 >>> list(map(chr, range(97, 123))) #or list(map(chr, range(ord('a'), ord('z')+1))) ['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'] 

其他有用的string模块function

 >>> help(string) # on Python 3 .... DATA ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz' ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' digits = '0123456789' hexdigits = '0123456789abcdefABCDEF' octdigits = '01234567' printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c' punctuation = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' whitespace = ' \t\n\r\x0b\x0c' 
 [chr(i) for i in range(ord('a'),ord('z')+1)] 

在Python 2.7中,我相信你可以使用这个:

 import string string.lowercase 'abcdefghijklmnopqrstuvwxyz' string.uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 

正如@Zaz所说: string.lowercase被弃用,不再在Python 3中工作,但string.ascii_lowercase在两个