如何在Python中生成字符范围并实现整数到A-Z的映射?
Python中生成'A'-'Z'字符序列的简便方法
你提到的range('A','Z')写法在Python里行不通,因为range()只接受整数参数,不过有几种简单的方式可以生成你需要的字符序列,完全不用手动输入整个字母表:
方法一:利用ASCII码转换
Python里可以通过ord()获取字符的ASCII码值,chr()把ASCII码转回字符,配合列表推导式就能生成序列:
# 生成0-26对应'A'-'Z'的完整序列(共27个元素) ABC = [chr(ord('A') + i) for i in range(27)]
如果只需要'A'-'Z'(26个元素),把range(27)改成range(26)就行。这种方式和C++里给char加整数的逻辑本质一致,只是多了显式的ASCII码转换步骤。
方法二:用内置的string模块
Python的string模块已经预定义了大写字母常量,直接转成列表即可:
import string # 得到['A','B',...,'Z'] ABC = list(string.ascii_uppercase) # 如果需要额外加一个'Z'(对应你的原写法) ABC = list(string.ascii_uppercase) + ['Z']
这种方式更简洁,不需要自己处理ASCII码计算,适合快速生成标准字母序列。
内容的提问来源于stack exchange,提问作者Manfred Weis
相关产品推荐
相关产品推荐

