是否可以在python中创建一个字母范围?

der*_*erp 5 python python-3.x

有没有办法像这样在python中做一个字母范围:

for x in range(a,h,)
Run Code Online (Sandbox Code Playgroud)

Ema*_*ini 15

就像是:

[chr(i) for i in range(ord('a'),ord('h'))]
Run Code Online (Sandbox Code Playgroud)

(或者可能:

for x in [chr(i) for i in range(ord('a'),ord('h'))]:
    print(x)
Run Code Online (Sandbox Code Playgroud)

)

  • 请注意,这不包括最后一个字母,所以如果你想做整个字母表,你会做类似的事情:[chr(i)for i in range(ord('a'),ord('z') + 1] (5认同)

Ble*_*der 5

您可以使用ord()将字母转换为字符序数并返回:

def char_range(start, end, step=1):
    for char in range(ord(start), ord(end), step):
        yield chr(char)
Run Code Online (Sandbox Code Playgroud)

它似乎工作得很好:

>>> ''.join(char_range('a', 'z'))
    'abcdefghijklmnopqrstuvwxy'
Run Code Online (Sandbox Code Playgroud)