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