首頁 >後端開發 >Python教學 >詳解python中strip()和split()的使用方法

詳解python中strip()和split()的使用方法

Y2J
Y2J原創
2017-05-18 14:31:113610瀏覽

這篇文章主要介紹了python strip() 函數和split() 函數的詳解及實例的相關資料,需要的朋友可以參考下

 python strip() 函數和split( ) 函數的詳解及實例

一直以來都分不清楚strip和split的功能,實際上strip是刪除的意思;而split則是分割的意思。因此也表示了這兩個功能是完全不一樣的,strip可以刪除字串的某些字符,而split則是根據規定的字符將字串進行分割。以下就詳細說一下這兩個功能,

1 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'

結果是一樣的。

2 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'

【相關推薦】

1. 

Python免費視訊教學

2. 

詳解python中strip函數的使用情境

3. 

python中strip()鮮為人知的陷阱

4. 

Python中你所不知道的strip()函數的妙用

5. 

python基礎入門之教你如何用strip()函數去空格\n\r\t

以上是詳解python中strip()和split()的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn