pythonのsplit関数を使って空白文字で分割するときの注意点


このエントリーをはてなブックマークに追加

pythonのsplit関数を使うと、文字列をある文字で分割することができます。

例えば、カンマで文字列を分割するには以下のようにします。

s = "a,b,c"
print(s.split(','))  # ['a', 'b', 'c']

s.split()s.split(' ')は同じ出力となると勘違いしていましたが、実際は以下のように挙動が異なるので注意が必要です。

s = "a b  c"
print(s.split())    # ['a', 'b', 'c']
print(s.split(' ')) # ['a', 'b', '', 'c']

s.split()では連続する空白をひとまとめに扱いますが、s.split(' ')は連続する空白をそれぞれ別々に分割していることが分かります。 python 2.7とpython 3.5で動作確認をしました。