1樓:
採取的演算法是:將第一和除其之外的每個字母對比,相同即記下替換後的word,依次下推(第二和第
三、第四。。。),逐個修改對映list
# coding:utf8
if __name__ == '__main__':
words = ['school','google','getfileinfo','cherrypy','pypy']
print words
tmps = words #對映list,存放替換大小寫後的list
index = 0 #list遍歷到第幾個了
for wds in words: #遍歷words
i = 0 #記錄list下的每個word長度
j = 0 #記錄每個word有幾個相同的字母數
#下面採取的演算法是:將第一和除其之外的每個字母對比,相同即記下替換後的word,依次下推(第二和第
三、第四。。。),逐個修改對映list:tmps
for wd_a in wds[i:]:
for wd_b in wds[i+1:]:
if wd_a == wd_b:
# print wds, wd_a.upper()
j += 1
if j > 1: #相同字母超過一個的,需要沿用之前修改好的word,否則最後記錄的將是最後一個相同字母轉大寫的word
tmp = tmp.replace(wd_a, wd_a.upper(), 1)
else:
tmp = wds.replace(wd_a, wd_a.upper(), 1)
# print tmp
tmps[index] = tmp #修改對映list:tmps
i += 1
index += 1
print tmps
執行結果:
['school', 'google', 'getfileinfo', 'cherrypy', 'pypy']
['school', 'google', 'getfileinfo', 'cherrypy', 'pypy']
演算法二:
測試了下執行時間,words在145個時,執行時間對比:
time2: 0.0160000324249
time2: 0.0150001049042
time2: 0.0149998664856
time1: 0.0160000324249
time1: 0.0159997940063
time1: 0.0150001049042
可見演算法二的最少執行時間比演算法一少,要快
2樓:
'school'.replace('o', 'o', 1) #只替換一次, replace第三個引數代表替換的次數
python中如何對多個字元快速替換
3樓:折柳成萌
python中快速進行多個字
bai符替換的方法小結du
先給出結論:zhi
要替換的字元dao數量不多時,可內以直接鏈式replace()方法進行容替換,效率非常高;
如果要替換的字元數量較多,則推薦在 for 迴圈中呼叫 replace() 進行替換。
可行的方法:
1. 鏈式replace()
?1string.replace().replace()1.x 在for迴圈中呼叫replace() 「在要替換的字元較多時」
2. 使用string.maketrans3. 先 re.compile 然後 re.sub
python如何使用re模組的sub函式實現把一串字母或者數字組合的字串,全部替換成*
4樓:匿名使用者
\w沒有加引號
print re.sub("\w","*",__string3)
含有兩個月字的成語,寫兩個含有「月」字的成語
龍之騰必潛乃翔 今月古月 j n yu g yu 釋義 指月亮古今如一,而人事代謝無常。語出 唐 李白 把酒問月 詩 今人不見古時月,今月曾經照古人。用法 聯合式 作賓語 定語 表示感慨人事代謝無常 啊佛號 閉月羞花 閉 藏。使月亮躲藏,使花兒羞慚。形容女子容貌美麗。冰壺秋月 冰壺 盛水的玉壺,比喻...
excel如何比較兩個資料中含有相同數
如果數字長度固定,比如瑞的3位 if sumproduct mid a5,row 1 3 1 mid b4,column a c 1 有 無 如果數字長度不固定 有 無 e2 if sumproduct mid a2,row 1 3 1 mid b1,column a c 1 是 否 向右向下複製公...
含有兩個成語150字左右的小片段
走馬觀花z u m gu n hu 釋義 騎在跑著的馬上看花。比喻匆忙 粗略地觀察瞭解。走 跑。語出 宋 楊萬里 和同年李子西通判 走馬看花拂綠揚 曲江同賞牡丹香。近義 浮光掠影 蜻蜒點水。反義 下馬看花 入木三分 鞭辟入裡。用法 含貶義。一般作謂語 狀語 賓語。結構 連動式。好段摘抄150字左右 ...