1. 程式人生 > >Python列表split方法

Python列表split方法

www 奇葩 開始 進行 IT spl ani pre iis

轉載自: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]

Python列表split方法