1. 程式人生 > >python中遍歷字母

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