python實現兩字串對映詳解
導讀 | 這篇文章主要介紹了python實現兩字串對映方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教 |
python兩字串對映
題目:
pattern = "abba",s="dog cat cat dog"---->True
pattern = "abba",s="dog cat cat fish"----->False
class Solution: def is_pattern_matched(self, pattern:str,s: str) -> bool: pattern = list(''.join(pattern)) s = s.split(" ") a = {} for i in range(len(pattern)): a.update({pattern[i]:s[i]})#update() 方法用於修改/更新當前集合/字典,可以新增新的元素或集合到當前集合中,如果新增的元素在集合中已存在,則該元素只會出現一次,重複的會忽略。 # a = zip(pattern,s) # a = dict(a) for j in range(len(pattern)): if s[j] != a[pattern[j]]: return False else: return True pattern = "abba" s = "dog cat cat dog" S = Solution() result = S.is_pattern_matched(pattern,s) print(result)
python字元對映表和字元替換
python中有一個內建函式maketrans()可以對兩個字串進行字元對映,建立出對映表。
結構如下:
str.maketrans(intab,outtab)
當使用該函式時,將會把intab中的字串對out字串中的字元進行一一對應。
而使用translate()函式則可以利用對映表字元對指定字串的字元進行替換。
結構如下:
str.translate(table)
示例:
str1="abcdefghijklmnopqrstuvwxyz" str2="qwertyuiopasdfghjklzxcvbnm" table=str.maketrans(str1,str2) str="sword art online" print(str.translate(table))#==>lvgkr qkz gfsoft
上面的例子使用了這兩個函式寫了一個簡單的加密程式。其中str1是函式str.maketrans(intab,outtab)中的intab,而str2是str.maketrans(intab,outtab)中的outtab。
不過這種加密方法有一個問題。就是intab與outtab所代表的的字串的長度必須一致,且各自的字串中的字元必須唯 一,否則解密時容易出錯。
示例:
str1="abcdefghijklmnopqrstuvwxyz" str2="qwertyuiopasdfghjklzxcvbnm" table1=str.maketrans(str1,str2) table1_1=str.maketrans(str2,str1) str="sword art online" jiami=str.translate(table1) jiemi=jiami.translate(table1_1) print(jiami)#==>lvgkr qkz gfsoft print(jiemi)#==>sword art online
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2945094/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java實體對映工具MapStruct詳解JavaStruct
- Java實體對映工具MapStruct使用詳解JavaStruct
- iptables 實現埠對映
- Elasticsearch 索引的對映配置詳解Elasticsearch索引
- mmap共享儲存對映(儲存I/O對映)系列詳解
- 記憶體對映檔案詳解-----C++實現(即一塊記憶體和一個檔案相對映對應)記憶體C++
- MFC 訊息對映機制詳解
- elasticsearch的字串動態對映Elasticsearch字串
- MyBatis實現一對一關聯對映MyBatis
- 埠對映,內網網站對映外網訪問,透過80埠對映實現內網網站
- Python中對字串格式化的方法:%、format()、以及f+字串詳解Python字串格式化ORM
- 深入瞭解 Python 字串物件的實現Python字串物件
- java解析json字串詳解(兩種方法)JavaJSON字串
- MongoDB via Dotnet Core資料對映詳解MongoDB
- Hibernate配置檔案中對映元素詳解
- Hibernate繼承對映多型的詳解繼承多型
- PHP 使用連結串列實現對映PHP
- CSS 實現的對聯廣告詳解CSS
- hibernate筆記–實體類對映檔案”*.hbm.xml”詳解筆記XML
- hibernate(五) hibernate一對一關係對映詳解
- python 關係對映Python
- Linux 或 Windows 上實現埠對映LinuxWindows
- 設計模式詳解及Python實現設計模式Python
- 最大熵模型詳解與Python實現熵模型Python
- 詳解Python拼接字串的七種方式Python字串
- 如何通過java5註解實現域物件與表的對映Java物件
- 如何透過java5註解實現域物件與表的對映Java物件
- Python實現單向連結串列詳解Python
- Python實現環形連結串列詳解Python
- Python實現堆疊和佇列詳解Python佇列
- Python 兩個字串相減Python字串
- 實驗:將系統程式對映移到 Python 字典中Python
- ASP.NET 2.0的URL對映的實現方法ASP.NET
- ASP.NET2.0的URL對映的實現方法ASP.NET
- Python隨機數與隨機字串詳解Python隨機字串
- python實現字串轉換整數Python字串
- Python 實現隨機打亂字串Python隨機字串
- python實現修改xml檔案內容詳解PythonXML