【Python】split,strip和join的使用
阿新 • • 發佈:2018-12-04
文章目錄
split才是切割…
而不是strip…,今天居然用錯了…
在某種情況下,split切割出來的結果會比預期的長度多1…
下面舉例子:
a='32123-32123-123-32123-23'
b=a.split('23')
print(b)
print(b[-1])
if b[-1]=='':
b.pop()
print(b)
輸出:
['321', '-321', '-1', '-321', '-', '']
['321', '-321', '-1', '-321', '-']
這樣的情況下,輸出才是想要的結果:
c='www.baidu.com'
d=c.split('.')
print(d)
# 輸出
['www', 'baidu', 'com']
值得注意的是,split只能切割字串…不能切割列表,但是切割字元串出來的結果卻是列表…
是不是很神奇…
e=[1,2,3]
f=e.split(',')
print(f)
AttributeError: 'list' object has no attribute 'split'
錯誤資訊:
AttributeError: 'list' object has no attribute 'split'
join的使用
join()函式
對字串的操作
c = '1234'
d = 'abc'
e = c.join(d)
print(e) # a 1234b1234c
對列表的操作
f = ['a','b','c'] g = ":".join(f) print(g) # a:b:c
當列表元素為int型別的時候:會報錯
h =[1,2,3,4]
l = "".join(h)
print(l)
TypeError: sequence item 0: expected str instance, int found
對字典的操作
結果為將其所有的鍵以join前面的符號進行了連線
p = {'1':'c','2':'d','3':'e'}
o = ":".join(p)
print(o) # 1:2:3
對元祖的操作
和列表一樣,元祖內容為int型別的時候,也會報錯
q = (1,2,3,4,6,3,2)
e = ":".join(q)
print(e) # TypeError: sequence item 0: expected str instance, int found
當內容為str型別的時候,就正常了
q = ('1','2','4','3')
e = ':'.join(q)
print(e) # 1:2:4:3
os.path.join()函式
將括號裡的路徑,組合後進行返回
import os
print(os.path.join('E:\py_test','test.py'))
# E:\py_test\test.py