主要是join()和os.path.join()兩個函數:
join():連接字符串數組。將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個新的字符串
語法: 'separate'.join(sequence) 相當於橋梁+各元素
參數說明:
sep(separate):分隔符。可以為空seq(sequence):要連接的元素序列、字符串、元組、字典上面的語法即:以sep作為分隔符,將seq所有的元素合併成一個新的字符串,返回一個以分隔符sep連接各個元素後生成的字符串.
os.path.join():將多個路徑組合後返回
語法:os.path.join(path1[,path2[,.]]),返回合併的路徑。
In [1]: 'A'.join('abc')Out[1]: 'aAbAc''''可以看出,當各個元素是非字符串組成的時候,報錯,這也說明這個函數的本質是連接字符串的作用'''In [2]: 'A'.join([1,2,3])Traceback (most recent call last):File "", line 1, in'A'.join([1,2,3])TypeError: sequence item 0: expected str instance, int foundIn [3]: 'A'.join(['1','2','3'])Out[3]: '1A2A3''''可以看出連接的只是字典的鍵'''In [5]: 'A'.join({'1':'one','2':'two','3':'three'})Out[5]: '1A2A3'In [6]: 'A'.join({'1':1,'2':2,'3':3})Out[6]: '1A2A3'
這裡的join()不能合併多個字符串,除非是多個字符串構成的列表可以進行合併。其實在其他函數中可以實現現合併多個字符串。
方式一:print()函數pythonIn [11]: print('one','two','three')one two threeIn [12]: print('one','two','three',sep='')onetwothreeIn [13]: print('one','two','three',sep='A')oneAtwoAthreeIn [14]: print('one','two','three',sep='abc')oneabctwoabcthree```利用print()函數可以將多個字符串以默認空格的形式合併,還可以自定義sep參數進行合併```方式二:+'one'+'two'+'three'Out[15]: 'onetwothree'方式三:format()函數In [17]: a='第一個'In [18]: b = '第二個'In [19]: print('a是{:*^9}字母;b是{}字母'.format(a,b))a是***第一個***字母;b是第二個字母```format函數的記憶口訣:填對寬,逗精類```
2 split()函數刪除大字符串中的兩段的某些字符
In [1]: 'unbelievable'.split('e')Out[1]: ['unb', 'li', 'vabl', '']
In [2]: 'unbelievable'.split('e',1)Out[2]: ['unb', 'lievable']
In [3]: hm = '123-4567-8989'In [4]: ''.join(hm.split('-'))Out[4]: '12345678989''''split()函數相當於一把刀,前面是一個完整的大字符串,後面是一把刀利用這把刀將大字符串切成小元素,最終組成的是一個列表形式輸出結合上面對split()以及join()函數的說明,可以這麼理解:split()是將字符串變為列表形式;join()是將列表變成字符串,此外,其join()函數裡面的列表還可以替換為字符串、元組等序列以及字典。'''3 strip()函數
語法:s.strip(rm)
聲明:s為字符串,rm為要刪除的字符序列
s.strip(str) 刪除s字符串中開頭、結尾處,位於 rm刪除序列的字符
s.lstrip(rm) 刪除s字符串中開頭處,位於 rm刪除序列的字符
s.rstrip(rm) 刪除s字符串中結尾處,位於 rm刪除序列的字符
注意:
(1)當rm為空時,默認刪除空白符(包括'\n', '\r', '\t', ' ')(2)這裡的rm刪除序列是只要邊(開頭或結尾)上的字符在刪除序列內,就刪除掉。
In [8]: 'ha12hh3ha'.strip('h')Out[8]: 'a12hh3ha'
In [9]: 'ha123ha'.strip('ah')Out[9]: '123'
In [10]: 'ha123ha'.strip('ha')Out[10]: '123'```strip()函數的形式和split()形式比較類似。上面例子中,不管'ha'還是'ah',返回的結果都是一樣的,表明和順序無關,只是單純的刪掉出現的字母```