问题:需要生成如下形式的序列
方法:
sequence = list(map(lambda x:('A'+chr(x)), range(ord('A'), ord('H') + 1)))
相应的小写
sequence = list(map(lambda x:('a'+chr(x)), range(ord('a'), ord('h') + 1)))
解释:
list()和map()都是常用的方法,主要是chr()和ord()比较陌生。
chr()和ord()是一对关于ASCII码的操作函数。
chr(i)
其中,i 是十进制或十六进制的整数,函数的返回值是 i 的十进制数 所对应的 ASCII 字符。
ord(c)
其中,c 是长度为1的字符串,函数的返回值是 c 所对应的 ASCII 数值(十进制整数)。
可见,上面的第一行代码等价于:
sequence = []
start = ord('A') # 获取字符A的ASCII数值
stop = ord('H') # 获取字符B的ASCII数值
for x in range(start, stop + 1):
sequence.append('A' + chr(x))
结果:
['AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH']