国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python translate()函數

2023-04-24 19:21:41
字體:
來源:轉載
供稿:網友

Python str.translate()函數是Python字符串類的內建函數之一,其作用是通過給定的轉換表把字符串中包含在轉換表中的每個字符用轉換表中對應的字符進行替換,并返回一個新字符串。

str.translate()語法格式

官方文檔給出的Python 3中的語法格式如下:

str.translate(table)

 str 是需要進行轉換的字符串。

參數

該函數的參數table時字符映射表,該映射表是需要通過__getitem__()函數實現了索引的對象,如映射序列

映射表table可能由以下幾種情形:

映射表能返回一個Unicode序數或字符串用于匹配一個或多個字符;

返回None值用于刪除指定的字符;

引發LookupError異常用于匹配字符本身。

該函數的參數也可以由str.maketrans()函數給出,也可以使用字典類型實現映射。

返回值

該函數執行后返回處理后的字符串。

Python translate()函數

str.translate()示例

1、使用str.maketrans()函數給出table

s = "I am a student"
t1 = str.maketrans({"a":"A"})
print(s.translate(t1))

t2 = str.maketrans("ae","AE")
print(s.translate(t2))

t3 = str.maketrans("ae", "AE","n")
print(s.translate(t3))

上面程序使用了Python中str.maketrans()函數來產生 table 參數,分別演示了str.maketrans()函數的三個參數的使用方法。

第1個例子是將字符串 s 中的字母“a”都轉換成“A”,第2個例子中是把字符串 s 中的字母“a”“e”分別轉換成“A”“E”,第3個例子是在第2個例子的基礎上刪除掉 s 中的字母“n”

其輸出結果如下:

I Am A student
I Am A studEnt
I Am A studEt

str.maketrans()函數的具體使用情況,請讀者參閱:Python str.maketrans()函數。

2、不使用str.maketrans()函數構造table的情況

若不使用str.maketrans()函數,就需要人工來構造映射表 table 。

下面使用例子來說明這個問題。

s = "I am a student"
t4 = {"a":"A","e":"E"}
print(s.translate(t4))

t5 = {ord("a"):ord("A"),ord("e"):ord("E")}
print(s.translate(t5))

t6 = {ord("a"):"A",ord("e"):"E"}
print(s.translate(t6))

t7 = {ord("a"):"A",ord("e"):"E",ord("n"):None}
print(s.translate(t7))

輸出結果如下:

I am a student
I Am A studEnt
I Am A studEnt
I Am A studEt

從例子和輸出結果可以看出,第1個例子中創建詞典的形式并沒有對返回的字符串產生任何影響,因為在table參數中要求構成字典的鍵是字符的Unicode字符的序數。其他情況都達到了應有目的。

當然,在映射表中,鍵值必須是單個字符的Unicode字符序數,而對應的值可以是由多個字符構成的字符串。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卫辉市| 麦盖提县| 沁阳市| 遂平县| 杂多县| 金昌市| 龙江县| 新河县| 资阳市| 即墨市| 神池县| 永修县| 教育| 卢氏县| 中宁县| 宁安市| 苏尼特左旗| 万盛区| 仁怀市| 永福县| 房产| 盐山县| 马关县| 奉化市| 宁国市| 福海县| 宜宾县| 固原市| 沂南县| 玛沁县| 肃南| 喜德县| 宁德市| 瓮安县| 石柱| 双城市| 观塘区| 阿瓦提县| 崇左市| 阳新县| 长阳|