>>> ".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(' ')
と異なるのは、呼び出された文字列の空白が空白文字の場合のみですか?はpython str.split()と矛盾していますか?
なぜsplit('.')
が分割されますか"..."
〜['','']
? split()
は
ドキュメントはこの(@agf下記参照)について明確にしている... 2枚のセパレータ間に空の単語を考慮していないが、私は、この選択した動作である理由を知りたいのです。
私は、ソースコード(here)で見て、ライン136は、よりだけ小さくなければならないと思っていますstr.split
docsを見るi < str_len
...
はい。私はそれを見て、質問に追加します。あなたはなぜこれが選ばれた行動であるか知っていますか?この動作の一部のアプリケーション/ケース? – ijverig
@ijverig私は答えに論理的根拠を付けました。 – agf
私はあなたに同意します。私が興味をそそられるのは、セパレータが指定されたときです。 'split( 'sep')'は、 "人々が期待する"ことをしません。連続する区切り文字の間に空の文字列を戻すことも、私にとって非常に奇妙です。私はこれがいくつかの一般的な特定の状況で使用されているかどうかを知りたいと思います。とにかくおかげさまで、あなたはとても役に立ちました! – ijverig