首頁  >  文章  >  後端開發  >  python中strip()鮮為人知的陷阱

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

Y2J
Y2J原創
2017-05-18 14:29:582108瀏覽

使用Python的時候,發現了一個strip()指令的坑。

之前對strip(X)的理解是:去除開頭和結尾包含的"X"字串,如果不包含則不去除。

這裡面的一個坑是:python對字串X的處理是一個set,而不是一個固定順序的字串。也就是說,是把X拆開成由單個字母組成的set來看待的,如果被strip()的字串在左右邊包含任意一個該set中的字符,都會被strip()掉。範例如下:

[python] view plain copy
 
>>> a="abc_1213"  
>>> a.strip('abc_')  
'1213'  
>>> a.strip('ba_c')  
'1213'  
>>> a.strip('zxcvbnmasdfghjklpoiuytrewq')  
'_1213'  
>>> a.strip('zxcvbnmasdfg_hjklpoiuytrewq')  
'1213'

最開始,個人的理解是第一種情況。 strip('abc_')之後,只會移除左邊的"abc_"。

實驗之後,確認,是把要strip的字串當做了一個set來處理的。只要是左右兩邊的字元在該set內,都會被逐一移除,直到遇到第一個不在該set內的字元為止。

【相關推薦】

1. Python免費影片教學

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

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

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

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

以上是python中strip()鮮為人知的陷阱的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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