這章我們來講其他字符串功能,我們先看join。
前面我們講過split是把字符串拆分成列表,而join剛好相反,它是把列表里的元素拼接處一個字符串,比如我定義一個列表。
l = ['劉備', '曹操', '孫權(quán)', '袁紹']
如果我們正常要把只這個列表里的字符串用橫杠拼接處一個字符串的話,就得把這個列表的每一個元素都取出來,用加號或者用前面學(xué)的格式化字符串的方式拼接,這樣是能夠?qū)崿F(xiàn)的。
但是這樣效率太慢了,現(xiàn)在我們來看join功能怎么使用。
首先你要確定你想用什么符號來進(jìn)行拼接,比如我想用橫杠來拼接,就先寫個引號然后把橫杠寫里面。你想用什么拼接,就輸入什么符號。然后點(diǎn)join,在括號里輸入l,然后打印。
l = ['劉備', '曹操', '孫權(quán)', '袁紹']
print('-'.join(l))
這樣我們就用橫杠把字符串拼接了起來。需要注意的是,進(jìn)行拼接的這個列表,里面的元素必須要都是自婦產(chǎn)類型才可以。
比如我現(xiàn)在在代碼里面增加int類型的數(shù)字,再來運(yùn)行,就會直接報錯。
l = ['劉備', '曹操', '孫權(quán)', '袁紹',1]
print('-'.join(l))
然后我們再來看replace,看到這個單詞就知道這個單詞本身就是替換的意思,當(dāng)然這個功能也是替換,這就是我前面講變量取名的時候要盡量做到見名知意。
現(xiàn)在我定義一個字符串,中間用橫杠拼接。
names = '李白-杜甫-白居易-陶淵明'
但是我現(xiàn)在不想用橫杠了,換成星號,就可以直接names點(diǎn)replace。Pycharm給我們提示了。
里面有四個參數(shù),第一個我們不看,第一個參數(shù)就是你要替換的字符串,第二個參數(shù)就是你要把它替換成什么字符串,第三個參數(shù)就是你要替換多少次。如果不寫第三個參數(shù)的話默認(rèn)就會把這個字符串里面所有的橫杠都替換掉。
names = '李白-杜甫-白居易-陶淵明'
print(names.replace('-', '*'))
當(dāng)然,你想替換李白也是可以的。
names = '李白-杜甫-白居易-陶淵明'
print(names.replace('-', '*'))
print(names.replace('李白', '詩仙'))
我們現(xiàn)在再來看另個isdigit功能,它的作用就是判斷字符串是否由串?dāng)?shù)字組成。
使用方法也很簡單。直接在字符串后面點(diǎn)isdigit。如果字符串全部是數(shù)字,就會顯示True,如果不是純數(shù)字,有小數(shù)或者英文就會顯示False。
print('84'.isdigit())
print('7.a4'.isdigit())
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 字符串詳解之其他功能下