join関数による文字列の結合【Python】

pythonでは+を使用することで、文字列を結合することができますが、イテラブル(for文で反復処理ができるもの)に対しては、join関数を利用する方が効率的で簡潔に書くことができます。

join関数の使い方は下記になります。

<文字列>.join(<イテラブル>)

イテラブル内の文字列を上記コードの<文字列>で結合したものが得られます。

実際に下記のコードで、join関数を利用してみたいと思います。

strs = ['All', 'roads', 'lead', 'to', 'Rome', '.']
print(' '.join(strs))
# All roads lead to Rome .
print(''.join(strs))
# AllroadsleadtoRome.
print('-'.join(strs))
# All-roads-lead-to-Rome-.

このように、for文と+で結合するよりも簡潔で簡単に文字列を結合することができます。

ちなみにですが、結合は文字列に対してできるものですから、イテラブル内に文字列以外が存在すればエラーになってしまいます。そのため、少し注意が必要です。

下記コードではエラーになります。

strs = ['All', 'roads', 3, 'to', 'Rome', '.']
print(' '.join(strs))
# TypeError: sequence item 2: expected str instance, int found

コメント