打印范围内的英文字母

我想A, b, c, d...使用 range()打印Python中包含的英文字母,但出现 TypeError。有没有一种方法可以做到这一点而不必手动定义英文字母列表?

>>> for letter in range('a', 'z'):
...     print(letters)
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object cannot be interpreted as an integer
>>>

回答

使用内置的字符串库可以得到一串英文字母,但是如果要以range的形式来做,可以单独写一个函数:

import string

def EnRange(from_='a', to='z', upper=False):
    from_, to = from_.lower(), to.lower()
    letters = string.ascii_lowercase
    return [i.upper() if upper else i for i in letters[letters.index(from_):letters.index(to)+1]]

for letter in EnRange('a', 'z'):
    print(letter)

您还可以使用 upper 参数获取大写字母。例子 :EnRange('a', 'z', upper=True)


以上是打印范围内的英文字母的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>