python中遍历字母

今天做leetcode的168题,感觉需要遍历一下英文字母与数字对应,然后忽然发现 我只会for i in ['A','B',.....]  ,这也太耻辱了~身为初级工程师,我觉得肯定有方法直接可以遍历出字母,于是从网上查找了一些方法,亲测有用~呜哈哈

一、list(map(chrrange(ord('a'), ord('z'+ 1)))

①map()

这里的map 是会根据提供的函数对指定序列做映射。

map(function,iterable,...)

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

比如:def increase(X):

return X+1

print(list(map(increase,[1,2,3,4])))

返回结果为:[2,3,4,5]

②ord()

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

返回值是对应的十进制整数。

比如:print(ord('A'))

输入结果为:65

③chr()

chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

返回值是当前整数对应的ascii字符。

比如:print(chr(97))

输出结果为: a

所以整体来说,是先将字母通过ord转化为十进制整数,然后利用map函数 调用chr方法 一一转化为字母

二、[chr(x) for in range(ord('A'), ord('Z'+ 1)]

方法与 一 类似,这个方法是利用推导式,直接将转化后的十进制整数利用chr()函数生成字母。这里大写的字母也OK