Pythonで文字列を連結・分割する:join(), split()

Pythonにおいて文字列とリストを相互に変換する方法について説明します。

リストの要素を指定した区切り文字で連結し、文字列にするにはjoin()を使います。また、文字列を指定した区切り文字で分割し、分割された要素からなるリストにするにはsplit()を使います。

リスト要素を連結して文字列にする

指定した区切り文字でリストの各要素を連結して文字列にするためにはjoin()を使います。

次の例では区切り文字をコロン(:)としてリストの各要素を連結した結果を表示しています。

list = ["Taro", "Jiro", "Saburo", "Hanako"]    # リストを用意する
print ":".join(list)    # 「:」を区切り文字としてリストの要素を連結した文字列を返す

実行結果

Taro:Jiro:Saburo:Hanako

このように、join()は以下のように記述します。

"区切り文字".join(リスト)

文字列を分割してリストにする

指定した区切り文字で文字列を単語に分割しリストにするためにはsplit()を使います。

カンマで文字列を分割する

次の例では区切り文字をカンマ(,)として文字列を分割し、分割された要素からなるリストを表示しています。

str = "Taro,Jiro,Saburo,Hanako"
print str.split(",")    # 「,」を区切り文字としてリストを返す

実行結果

['Taro', 'Jiro', 'Saburo', 'Hanako']

このように、split()は以下のように記述します。join()とは異なり、区切り文字が引数になっていることに注意してください。

文字列.split("区切り文字")

スラッシュで文字列を分割する

もうひとつ例を見てみましょう。次の例は、スラッシュ(/)を区切り文字として文字列をリストに変換しています。

str = "2016/02/10"
print str.split("/")    # 「/」を区切り文字としてリストを返す

実行結果

['2016', '02', '10']

また、区切り文字を指定しなかった場合は空白、タブ、改行文字で分割されます。

空白で文字列を分割する

区切り文字が空白の場合は、引数に値を指定する必要はありません。

list = "Taro Jiro Saburo Hanako".split()    # 区切り文字を指定しない
print list

実行結果

['Taro', 'Jiro', 'Saburo', 'Hanako']

イベント