Python maketrans() 方法


描述

Python maketrans() 方法用於給 translate() 方法創建字符映射轉換表。

可以只接受一個參數,此時這個參數是個字典類型(暫不研究這種情況)。

對於接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示需要轉換的字符,第二個參數也是字符串,表示轉換的目標。兩個字符串的長度必須相同,為一一對應的關系。

在Python3中可以有第三個參數,表示要刪除的字符,也是字符串。

一般 maketrans() 方法需要配合 translate() 方法一起使用。

注:Python3.4 以后已經不需要從外部 string 模塊中來調用 maketrans() 方法了,取而代之的是內建函數: bytearray.maketrans()、bytes.maketrans()、str.maketrans()。

語法

maketrans() 方法語法:

Python3中:

str.maketrans(intab,outtab[,delchars])

Python2中:

import string
string.maketrans(intab,outtab)

參數

  • intab -- 需要轉換的字符組成的字符串。
  • outtab -- 轉換的目標字符組成的字符串。
  • delchars -- 可選參數,表示要刪除的字符組成的字符串。

返回值

返回一個字符映射轉換表供 translate() 方法調用。

實例

以下實例展示了使用 maketrans() 方法加 translate() 方法將所有元音字母轉換為指定的數字,並刪除指定字符:

Pyhon3中:

#!/usr/bin/python3

intab = "aeiou"
outtab = "12345"
deltab = "thw"

trantab1 = str.maketrans(intab,outtab) # 創建字符映射轉換表
trantab2 = str.maketrans(intab,outtab,deltab) #創建字符映射轉換表,並刪除指定字符

test = "this is string example....wow!!!"

print(test.translate(trantab1))
print(test.translate(trantab2))

以上實例輸出結果如下:

th3s 3s str3ng 2x1mpl2....w4w!!!
3s 3s sr3ng 2x1mpl2....4!!!

Python2中:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import string   # 導入string模塊

intab = "aeiou"
outtab = "12345"
deltab = "thw"

trantab = string.maketrans(intab,outtab) # 創建字符映射轉換表

test = "this is string example....wow!!!";

print test.translate(trantab);
print test.translate(trantab,deltab); # Python2中,刪除指定字符在 translate() 方法中

以上實例輸出結果如下:

th3s 3s str3ng 2x1mpl2....w4w!!!
3s 3s sr3ng 2x1mpl2....4!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM