python 中join()函式strip() 函式和 split() 函式的詳解及例項
1、join()函式
Python中有join()和os.path.join()兩個函式,具體作用如下:
join(): 連線字串陣列。將字串、元組、列表中的元素以指定的字元(分隔符)連線生成一個新的字串
語法: ‘sep’.join(seq)
引數說明
sep:分隔符。可以為空
seq:要連線的元素序列、字串、元組、字典
上面的語法即:以sep作為分隔符,將seq所有的元素合併成一個新的字串
返回值:返回一個以分隔符sep連線各個元素後生成的字串
os.path.join(): 將多個路徑組合後返回
語法: os.path.join(path1[,path2[,…]])
返回值:將多個路徑組合後返回
注:第一個絕對路徑之前的引數將被忽略
#對序列進行操作(分別使用' '與':'作為分隔符) >>> seq1 = ['hello','good','boy','doiido'] >>> print ' '.join(seq1) hello good boy doiido >>> print ':'.join(seq1) hello:good:boy:doiido #對字串進行操作 >>> seq2 = "hello good boy doiido" >>> print ':'.join(seq2) h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o #對元組進行操作 >>> seq3 = ('hello','good','boy','doiido') >>> print ':'.join(seq3) hello:good:boy:doiido #對字典進行操作 >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4} >>> print ':'.join(seq4) boy:good:doiido:hello #合併目錄 >>> import os >>> os.path.join('/hello/','good/boy/','doiido') '/hello/good/boy/doiido'
2,Python strip()函式 介紹
函式原型
宣告:s為字串,rm為要刪除的字元序列
s.strip(rm) 刪除s字串中開頭、結尾處,位於 rm刪除序列的字元
s.lstrip(rm) 刪除s字串中開頭處,位於 rm刪除序列的字元
s.rstrip(rm) 刪除s字串中結尾處,位於 rm刪除序列的字元
注意:
(1)當rm為空時,預設刪除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')
(2)這裡的rm刪除序列是隻要邊(開頭或結尾)上的字元在刪除序列內,就刪除掉。
例如,
a = ’ 123’
a
’ 123’
a.strip()
‘123’
(2)這裡的rm刪除序列是隻要邊(開頭或結尾)上的字元在刪除序列內,就刪除掉。
例如,
a = ‘123abc’
a.strip(‘21’)
‘3abc’
a.strip(‘12’)
‘3abc’
3, python split()函式 介紹
說明:
Python中沒有字元型別的說法,只有字串,這裡所說的字元就是隻包含一個字元的字串!!!
這裡這樣寫的原因只是為了方便理解,僅此而已。
(1)按某一個字元分割,如‘.’
str = (‘www.google.com’)
print str
www.google.com
str_split = str.split(’.’)
print str_split
[‘www’, ‘google’, ‘com’]
(2)按某一個字元分割,且分割n次。如按‘.'分割1次
str_split = str.split(’.’,1)
print str_split
[‘www’, ‘google.com’]
(3)split()函式後面還可以加正則表示式,例如:
str_split = str.split(’.’)[0]
print str_split
www
split分隔後是一個列表,[0]表示取其第一個元素;
str_split = str.split(’.’)[::-1]
print str_split
[‘com’, ‘google’, ‘www’]
str_split = str.split(’.’)[::]
print str_split
[‘www’, ‘google’, ‘com’]
按反序列排列,[::]安正序排列
str = str + ‘.com.cn’
str
‘www.google.com.com.cn’
str_split = str.split(’.’)[::-1]
print str_split
[‘cn’, ‘com’, ‘com’, ‘google’, ‘www’]
str_split = str.split(’.’)[:-1]
print str_split
[‘www’, ‘google’, ‘com’, ‘com’]
從首個元素開始到次末尾,最後一個元素刪除掉。
split()函式典型應用之一,ip數字互換:
ip ==> 數字
ip2num = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split(’.’)[::-1])])
ip2num(‘192.168.0.1’)
3232235521
數字 ==> ip # 數字範圍[0, 255^4]
num2ip = lambda x: ‘.’.join([str(x/(256**i)%256) for i in range(3,-1,-1)])
num2ip(3232235521)
‘192.168.0.1’
最後,python怎樣將一個整數與IP地址相互轉換?
import socket
import struct
int_ip = 123456789
socket.inet_ntoa(struct.pack(‘I’,socket.htonl(int_ip)))#整數轉換為ip地址
‘7.91.205.21’
str(socket.ntohl(struct.unpack(“I”,socket.inet_aton(“255.255.255.255″))[0]))#ip地址轉換為整數
‘4294967295’