在做python編程時,碰到了需要將字母轉換成ascii碼的,原本以為用Int()就可以直接將字符串轉換成整形了,可是int()帶了一個默認參數,base=10,這里表示的是十進制,若出現字母,則會報錯,認為超出該進制的表示范圍。
通過查閱網絡和python的幫助文檔,明確了幾個函數的使用,記錄如下:
ord(c):參數是長度為1的字符串,簡稱字符。當參數為統一對象時(unicode object),返回能代表該字符的統一編碼,當參數為8比特的字符串時,返回該字節的值。例如,ord('a')返回整形數值97,ord(u'\u2020')返回8224。
chr(i):返回一個字符,字符的ascii碼等於參數中的整形數值。例如chr(97)返回字符'a',該方法是ord()的反方法。參數必須是0-255的整形數值,否則會拋出valueError錯誤。
在應用函數時,觀察到有個python函數比較高效,map(function,iterable,...)將函數應用於每一項iterable,並且返回一個結果的列表。map()是 Python 內置的高階函數,它接收一個函數 f 和一個 list,並通過把函數 f 依次作用在 list 的每個元素上,得到一個新的 list 並返回。
注意:map()函數不改變原有的 list,而是返回一個新的 list。
利用map()函數,可以把一個 list 轉換為另一個 list,只需要傳入轉換函數。
由於list包含的元素可以是任何類型,因此,map() 不僅僅可以處理只包含數值的 list,事實上它可以處理包含任意類型的 list,只要傳入的函數f可以處理這種數據類型。