字母表范围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
在两个