Python 文字列の join と split の関係

株式会社リュディアです。これまでに文字列の joinを含む連結 と split を個別に見ましたが、これらは表裏一体の関係にあります。整理も兼ねてここでまとめておきます。個別に扱った join と split の記事へのリンクを以下につけておきます。

では早速みていきましょう。以下の例を見てください。

str = 'aaa, bbb, ccc, ddd, eee'
print(str)
list_str = str.split(',')
print(list_str)

>> aaa, bbb, ccc, ddd, eee
>> ['aaa', ' bbb', ' ccc', ' ddd', ' eee']

カンマを区切りとして持つ文字列 str を split を使って文字列を要素に持つリストに変換しています。区切り文字はカンマです。リストへの変換結果は list_str であり、print 文による確認で変換結果を確認できます。次に join を使って list_str を元の文字列に戻してみます。以下の例を見てください。

str1 = ','.join(list_str)
print(str1)

>> aaa, bbb, ccc, ddd, eee

文字列を要素として持つリスト list_str を区切り文字をカンマで join し1つの文字列 str1 を作っています。print文の出力で元に戻っていることが確認できました。

この例で split と join が表裏一体である、ということが理解できたかと思います。

もう一つ同様の例として区切りがスペースになっている文字列を扱ってみます。split で分割し、join で連結して元に戻します。以下の例を見てください。

str = 'aaa bbb ccc ddd eee'
print(str)
list_str = str.split(' ')
print(list_str)
str1 = ' '.join(list_str)
print(str1)

>> aaa bbb ccc ddd eee
>> ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
>> aaa bbb ccc ddd eee

カンマがスペースに変わっただけで同じような結果になっていますね。今回は split と join が表裏一体の関係であることをまとめました。個別に頭に入れるのではなくて関係を意識すると頭に残りやすいと思います。

では、ごきげんよう。


この記事が気に入ったらサポートをしてみませんか?