python 字符串的translate方法

        最近在學習Python cookbook,遇到字符串的translate方法,發現功能很強大,但有點難以理解,因而在網上查閱資料和官方文檔,記下本身的理解,有誤的地方,請多多指教。python

        translate的用法以下:學習

        bstr = astr.translate(strtable,delete)spa

        astr是一個須要被轉換的字符串,strtable是一個翻譯表,delete包含的字符在astr中須要被移除,移除後剩下的字符通過翻譯表獲得bstr。翻譯

        翻譯表是什麼呢?翻譯表是經過maketrans方法轉換而來,其原型以下:code

        string.maketrans(instr,outstr)  返回一個翻譯表文檔

        instr中的字符是須要被outstr中的字符替換,並且instr和outstr的長度必須相等,返回的翻譯表的長度必須是256.以下面的例子:字符串

        

instr = 'abc'
outstr = '123'
table = string.maketrans(instr,outstr)

      則在table中,本來存儲字符a,b,c的位置分別換成了1,2,3,maketrans的做用就是這樣,還能夠理解吧

      獲得翻譯表以後,而後就用translate方法進行翻譯,看下面幾個例子,就容易理解了。原型

      例子1:string

>>> import string
>>> instr = ''
>>> outstr = ''
>>> table = string.maketrans(instr,outstr)
>>> astr = 'abcdefg-123'
>>> bstr = astr.translate(table,'123')
>>> bstr
'abcdefg-'
>>>


     從例1能夠看出,咱們的翻譯表沒有通過映射,但在調用translate時,把astr中的字符1,2,3 給刪除了,動手試試。table

     例2:

>>> import string
>>> instr = 'abcde'
>>> outstr = '12345'
>>> table = string.maketrans(instr,outstr)
>>> astr = 'abcdefg-123'
>>> bstr = astr.translate(table,'123')
>>> bstr
'12345fg-'
>>>

      不用多解釋,若是還沒明白的話,趕快動手試試吧,實踐是檢驗真理的惟一標準。

相關文章
相關標籤/搜索