Python列表split方法


轉載自:https://www.cnblogs.com/douzi2/p/5579651.html

1、split翻譯為分裂。  split()就是將一個字符串分裂成多個字符串組成的列表。

2、split()當不帶參數時以空格進行分割,當帶參數時,以該參數進行分割。

  a、當不帶參數時

  st0= '   song    huan     gong    '

  print(st0.split())

   結果為:

  ['song', 'huan', 'gong']

   結論:當不帶參數時,默認是以空格作為參數,不管空格在哪,或者有幾個 全部被鎬掉了!

  b、當帶參數時 這種情況就不能按照上面的方式去理解了

  st0= 'iisongiiihuaniiiigongi'

  print(st0.split('i'))

   結果為:

  ['', '', 'song', '', '', 'huan', '', '', '', 'gong', ''

  c、這個結果可能就有點出乎意料了並不是想象中的['song', 'huan', 'gong'] 而是多了很多空字符串元素'',這個怎么理解呢?    我的理解方式是,當帶參數時,我們得把字符串想象成一塊五花肉,我們要做 一件奇葩的事情,就是將肥肉丟到垃圾桶,把瘦肉留下。  比如'iisongiiihuaniiiigongi'這串五花肉,'i'就是要丟掉的肥肉,每次還只能切 'i'這么多。  切的時候是從左到右,一刀下去肥肉'i'丟掉,刀刃左邊的部分拿走作為list的一個元素, 刀刃右邊的就是剩下的,那么繼續切剩下的部分,直到切完。

 'iisongiiihuaniiiigongi'這塊肉比較特殊:  

  d、其一、他的開始和結尾都有i,而且i還不止一個!這樣按照上述的方法就會切出 空氣,就是列表中我們看到的'', 空字符串元素。    如'iisongiiihuaniiiigongi',當第一刀下去的時候,第一個i被丟到了垃圾桶, 而刀刃的左邊什么都沒有,所以列表的第一個元素就是'',空字符串元素。  一刀下去之后,就剩下'isongiiihuaniiiigongi'。  所以第二刀下去之后,又得到一個空字符串元素,目前“肉”就剩下'songiiihuaniiiigongi'。  第三刀又切掉一個i,那么刀刃左邊的就是song,所以第三個元素就是'song'。    直到切到最后,整坨肉就只剩下一個i了,使用最后一刀下去i被切掉了,刀刃的左邊此時也 什么都沒有了,所以最后一個元素任然是空字符串。  

3、一個超級好的例子:

>>> str="hello boy<[www.doiido.com]>byebye"
>>> str.split("[")[1].split("]")[0]
'www.doiido.com'
>>> str.split("[")[1].split("]")[0].split(".")
['www', 'doiido', 'com']

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM