>>> ".a string".split('.')
['', 'a string']
>>> "a .string".split('.')
['a ', 'string']
>>> "a string.".split('.')
['a string', '']
>>> "a ... string".split('.')
['a ', '', '', ' string']
>>> "a ..string".split('.')
['a ', '', 'string']
>>> 'this is a test'.split(' ')
['this', '', 'is', 'a', 'test']
>>> 'this is a test'.split()
['this', 'is', 'a', 'test']
爲什麼split()
與split(' ')
不同?當被調用的字符串只有空格作爲空格時?是python str.split()不一致嗎?
爲什麼split('.')
分裂"..."
到['','']
? split()
不考慮兩個分隔符之間的空白字...
文檔很清楚(請參閱下面的@agf),但我想知道爲什麼選擇這種行爲。
我已經看過源代碼(here),以爲行136應該只是小於:... i < str_len
...
是的。我已經看到了這一點,並會增加這個問題。你知道爲什麼這是選擇的行爲?這種行爲的一些應用/案例? – ijverig 2012-03-22 05:51:05
@ijverig我已經給我的答案添加了一個基本原理。 – agf 2012-03-22 05:54:34
我同意你的意見。什麼讓我感興趣的是當分隔符被指定時split('sep')'不會做「人們所期望的」。在連續分隔符之間返回空字符串對我來說也很奇怪。我想知道這是否用於某些流行的特定情況。無論如何,謝謝你的幫助! – ijverig 2012-03-22 06:01:49