Python: 文字列を分割する split()

Pythonで文字列を指定した文字で分割する場合は、 split()メソッドを使います。

書式
文字列.split(区切り文字)

# 最大分割数を指定する場合
文字列.split(区切り文字, 最大分割数)
文字列.split(区切り文字, maxsplit=最大分割数)

戻り値はリストです。
区切り文字を指定しない場合は、 空白文字(改行、タブ、スペースなど)で分割されます。
第2引数で最大分割数を指定できます。 「maxsplit=」の部分は省略可能です。 第2引数を指定した場合、最大分割数 + 1 の要素を持つリストが返って来ます。

# カンマで分割
li = s.split(",")

# タブで分割
li = s.split("\t")

# 改行で分割
li = s.split("\n")

では実際にsplit()による分割処理をしてみます。

s = "a,b,c,d"

# カンマで分割
li = s.split(",")

print(li) # ['a', 'b', 'c', 'd']

第2引数の最大分割数を指定した場合は次のように、 指定した分割数+1の要素を持つリストとなります。

s = "a-b-c-d"

li = s.split("-", 2)

print(li) # ['a', 'b', 'c-d']

次のように「maxsplit=」を記述しても結果は同じです。

li = s.split("-", maxsplit=2)

区切り文字を省略した場合

区切り文字を省略した場合は、 スペース・タブ・改行などの空白文字で分割されます。

# スペース、タブ、改行が混ざっている文字列
s = "a b \tc\nd "

li = s.split()

print(li) # ['a', 'b', 'c', 'd']
Python