1. 程式人生 > >【Python】split,strip和join的使用

【Python】split,strip和join的使用

文章目錄

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