1、說明
創新互聯公司是一家專注于成都網站設計、成都網站建設、外貿網站建設與策劃設計,天心網站建設哪家好?創新互聯公司做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:天心等地區。天心做網站價格咨詢:028-86922220
可以使用find或者index來查詢字符串,可以使用replace函數來替換字符串。
2、示例
1)查詢
'abcdefg'.find('cde')
結果為2
'abcdefg'.find('acde')
結果為-1
'abcdefg'.index('cde')
結果為2
2)替換
'abcdefg'.replace('abc','cde')
結果為'cdedefg'
3、函數說明
1)find(...)
S.find(sub[, start[, end]]) - int
返回S中找到substring sub的最低索引,使得sub包含在S [start:end]中。 可選的 參數start和end解釋為切片表示法。
失敗時返回-1。
2)index(...)
S.index(sub[, start[, end]]) - int
與find函數類似,但是當未找到子字符串時引發ValueError。
3)replace(...)
S.replace(old, new[, count]) - str
返回S的所有出現的子串的副本舊換新。 如果可選參數計數為給定,只有第一個計數出現被替換。
樓主搞生物的?很像堿基對啊。replace是替換整串字符串的,但是這里不方便,因為你把AA替換成TT后,就變成TTTT,然后再替換,變為AAAA,沒有達到效果,除非你用另外的字符代替,不過,這樣就沒有python的簡潔優美了,所以這個問題用re最方便,下面是代碼:
#?coding=utf-8
import?re
astr?=?'AATTCCGG'
charmap?=?{'AA':'TT','TT':'AA','CC':'GG','GG':'CC'}
new?=?re.sub(r'AA|TT|CC|GG',?lambda?x:?charmap[x.group(0)],?astr)
print(new)#python2為print?new
1.1 例如:print(hex(2))案例
1.2 輸出函數:print(hex(2))
1.3 輸出結果:0x2
1.4 解析說明:返回16進制的數。
2.1 例如:print(chr(10))案例
2.2 輸出函數:print(chr(10))
2.3 輸出結果:0o12
2.4 解析說明:返回當前整數對應的ASCll碼
3.1 例如:print(ord("b"))案例
3.2 輸出函數:print(ord("b"))
3.3 輸出結果:98
3.4 解析說明:返回當前ASCll碼的10進制數
4.1 例如:print(chr(97))
4.2 輸出函數:print(chr(97))
4.3 輸出結果:b
4.4 解析說明:返回當前ASCll碼的10進制數。
案例一:給你一個字符串,s = 'hello kitty'
1.1 輸出函數:print(s.capitalize())
1.2 輸出結果:0x2
1.3 解析說明:返回16進制的數。
2.1輸出函數:print(s.replace('kitty','kuang'))
2.2 輸出結果:hello kuang
2.3 解析說明:替換功能,將kitty換成kuang。
2.4 輸出函數:print(s.replace('4','KK'))
2.5 輸出結果:12KK12KK
2.6 解析說明:所有的4都替換成KK
2.7 輸出函數:print(s.replace('4','KK'))
2.8 輸出結果:12KK12KK124
2.9 解析說明:將前兩個的4替換成go
案例一:給你一個字符串,ip = '192.168.1.1'
3.1 輸出函數:print(ip.split(','))
3.2 輸出結果:['192.168.1.1']
3.3 解析說明:將字符串分割成列表
案例一:給你一個字符串,ip = '192.168.1.1'
3.3 輸出函數:print(ip.split(',',2))
3.4 輸出結果:['192.168.1.1']
3.5 解析說明:從第二個開始分割成列表
python實現字符串替換時,可利用replace函數來實現,
具體代碼為:stringold.replace(strfrom,strto),其中stringold就是需要更改的字符串,strfrom是需要替換的子字符串,strto是需要轉換成的子字符串。Python是一種跨平臺的計算機程序設計語言,也是一種面向對象的動態類型語言,最初被設計用于編寫自動化腳本。隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨立的.大型項目的開發。Python語言具有簡潔性.易讀性以及可擴展性,在國外用Python做科學計算的研究機構日益增多,一些知名大學已經采用Python來教授程序設計課程。
正則表達式一個比較常見的用途是找到所有模式匹配的字符串并用不同的字符串來替換它們。sub方法提供一個替換值,可以是字符串或函數,和一個要被處理的字符串。
1、這里的sub方法,是被編譯成‘RegexObject’實例后的實例的方法
Sub(replacement,string[,count =0 ])
1)返回的字符串是在字符串中用RE最左邊不重復的匹配來替換。如果模式沒有被發現,字符將沒有被改變的返回。
2)可選參數count是模式匹配后替換的最大次數;count必須是非負整數。缺省值是0表示替換所有的匹配。
例子:
2、模塊級函數:sub方法
注:這些函數(包括sub函數)使用RE字符串作為第一個參數,而后面的參數與相應的“RegexObject”方法的參數相同,返回要么是None,要么是一個‘MatchObject’實例。
(實際sub返回的是字符串,,兩者說法不一致,以實際為準)
Re.sub的作用在于:使用給定的替換內容將匹配模式的子字符串(最左端并且非重疊的子字符串)替換掉
3、作為替換的組號
在2的例子中,只是把一個字符串用其他的內容替換掉了。用replace這個字符串方法能輕松達到同樣的效果。而正則表達式允許以更靈活的方式進行搜索,同時它們也允許進行功能更強大的替換。
見證re.sub強大功能的最簡單方式就是在替換字符串中使用組號。在替換內容中以‘\\n’型式出現的任何轉義序列都會被模式中與組n匹配的字符串替換掉。例如,假設要把‘*something*’用‘emsometing/em’替換掉,前者是在普通文本文檔(比如Email)中進行強調的常用方法,而后者則是相應的HTML代碼(用于網頁)
這里把所有的* *含的字符串都替換掉了。剛開始我以為只替換*world*。記一筆。
這篇文章主要介紹了Python函數式編程指南(一):函數式編程概述,本文講解了什么是函數式編程概述、什么是函數式編程、為什么使用函數式編程、如何辨認函數式風格等核心知識,需要的朋友可以參考下1pareTo(o2))相信從這個小小的例子你也能感受到強大的生產效率:)封裝控制結構的內置模板函數為了避開邊界效應,函數式風格盡量避免使用變量,而僅僅為了控制流程而定義的循環變量和流程中產生的臨時變量無疑是最需要避免的。假如我們需要對剛才的數集進行過濾得到所有的正數,使用指令式風格的代碼應該像是這樣:代碼如下:lst2 = list()for i in range(len(lst)): #模擬經典for循環if lst[i] 0:lst2.append(lst[i])這段代碼把從創建新列表、循環、取出元素、判斷、添加至新列表的整個流程完整的展示了出來,儼然把解釋器當成了需要手把手指導的傻瓜。然而,“過濾”這個動作是很常見的,為什么解釋器不能掌握過濾的流程,而我們只需要告訴它過濾規則呢?在Python里,過濾由一個名為filter的內置函數實現。有了這個函數,解釋器就學會了如何“過濾”,而我們只需要把規則告訴它:代碼如下:lst2 = filter(lambda n: n 0, lst)這個函數帶來的好處不僅僅是少寫了幾行代碼這么簡單。封裝控制結構后,代碼中就只需要描述功能而不是做法,這樣的代碼更清晰,更可讀。因為避開了控制結構的干擾,第二段代碼顯然能讓你更容易了解它的意圖。另外,因為避開了索引,使得代碼中不太可能觸發下標越界這種異常,除非你手動制造一個。函數式編程語言通常封裝了數個類似“過濾”這樣的常見動作作為模板函數。唯一的缺點是這些函數需要少量的學習成本,但這絕對不能掩蓋使用它們帶來的好處。閉包(closure)閉包是綁定了外部作用域的變量(但不是全局變量)的函數。大部分情況下外部作用域指的是外部函數。閉包包含了自身函數體和所需外部函數中的“變量名的引用”。引用變量名意味著綁定的是變量名,而不是變量實際指向的對象;如果給變量重新賦值,閉包中能訪問到的將是新的值。閉包使函數更加靈活和強大。即使程序運行至離開外部函數,如果閉包仍然可見,則被綁定的變量仍然有效;每次運行至外部函數,都會重新創建閉包,綁定的變量是不同的,不需要擔心在舊的閉包中綁定的變量會被新的值覆蓋?;氐絼偛胚^濾數集的例子。假設過濾條件中的 0 這個邊界值不再是固定的,而是由用戶控制。如果沒有閉包,那么代碼必須修改為:代碼如下:class greater_than_helper:def __init__(self, minval):self.minval = minvaldef is_greater_than(self, val):return val self.minvaldef my_filter(lst, minval):helper = greater_than_helper(minval)return filter(helper.is_greater_than, lst)請注意我們現在已經為過濾功能編寫了一個函數my_filter。如你所見,我們需要在別的地方(此例中是類greater_than_helper)持有另一個操作數minval。如果支持閉包,因為閉包可以直接使用外部作用域的變量,我們就不再需要greater_than_helper了:代碼如下:def my_filter(lst, minval):return filter(lambda n: n minval, lst)可見,閉包在不影響可讀性的同時也省下了不少代碼量。函數式編程語言都提供了對閉包的不同程度的支持。在Python 2.x中,閉包無法修改綁定變量的值,所有修改綁定變量的行為都被看成新建了一個同名的局部變量并將綁定變量隱藏。Python 3.x中新加入了一個關鍵字 nonlocal 以支持修改綁定變量。但不管支持程度如何,你始終可以訪問(讀取)綁定變量。內置的不可變數據結構為了避開邊界效應,不可變的數據結構是函數式編程中不可或缺的部分。不可變的數據結構保證數據的一致性,極大地降低了排查問題的難度。例如,Python中的元組(tuple)就是不可變的,所有對元組的操作都不能改變元組的內容,所有試圖修改元組內容的操作都會產生一個異常。函數式編程語言一般會提供數據結構的兩種版本(可變和不可變),并推薦使用不可變的版本。遞歸遞歸是另一種取代循環的方法。遞歸其實是函數式編程很常見的形式,經常可以在一些算法中見到。但之所以放到最后,是因為實際上我們一般很少用到遞歸。如果一個遞歸無法被編譯器或解釋器優化,很容易就會產生棧溢出;另一方面復雜的遞歸往往讓人感覺迷惑,不如循環清晰,所以眾多最佳實踐均指出使用循環而非遞歸。這一系列短文中都不會關注遞歸的使用。第一節完
網站標題:python替換的函數,python中的替換函數
標題網址:http://m.kartarina.com/article0/hddjoo.html
成都網站建設公司_創新互聯,為您提供定制網站、動態網站、做網站、商城網站、外貿網站建設、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯