1.6合併字符串閉包
ka=list('kaluoc') #字符串轉成字符串列表 print ''.join(ka) #大量的字符串相連,join是最高效的 print '%s%s something %s '% (ka[0],ka[1],ka[2]) #這種來自C語言的方式也不錯,也能進行變量的格式化 print ka[0]+ka[1]+ka[2] #這種是最天然的方式,但效率低下
結果:函數
kaluoc
ka something l
kal
1.7將字符串逐字符或逐詞反轉spa
print 'kaluoc'[::-1] #步長爲-1的切片,可直接產生字符的反轉 print ''.join(reversed('kaluoc')) #反轉後鏈接,效果不如上面的簡單直接,revered返回的是迭代器 print ' '.join('ka luo c'.split()[::-1]) #以空格分隔爲列表,而後反轉並鏈接
結果:翻譯
coulak
coulak
c luo ka
1.8檢查字符串中是否包含某字符集合中的字符code
def containsAny(seq,aset): for c in seq: if c in aset:return True #一旦判斷包含,就返回結果,實際上這個函數不單單用於字符串上 return False
1.9簡化字符串的translate方法的使用blog
跳過,添加個translate的使用字符串
import string #導入string s='kaluoc' table=string.maketrans('kac','KAC') #製做翻譯表 print s.translate(table) #翻譯 print s.translate(table,'uc') #翻譯並刪除特定字符
結果:string
KAluoC
KAlo
1.10過濾字符串中不屬於指定集合的字符it
import string #導入string allchars=string.maketrans('','') #翻譯規則(就是不翻譯) def makefilter(keep): delchars=allchars.translate(allchars,keep) #不翻譯,但刪除keep內字符,即keep的補集 def thefilter(s): #閉包 return s.translate(allchars,delchars) #不翻譯,刪除keep的補集所含有的字符 return thefilter if __name__=='__main__': just_vowels=makefilter('aeiouy') print just_vowels('kaluoc and seven years ago')
結果:io
auoaeeyeaao