Pythonのjoinメソッドとは、文字列や数値を結合する時に使います。
ちなみにjoinは英語の「結合する、つなぐ」の意味です。
目次
joinメソッドの使い方
ここでは、joinメソッドで文字列を連結(結合)する使い方を解説します。
joinの記述方法
joinは主にリストの値を結合する時に使います。(タプル等でも可能です。)
joinの記述方法は以下の通りです。
変数名 = ‘区切り文字’.join(リスト名)
区切り文字が必要が無ければ指定しなくても大丈夫です。
文字列要素の連結(結合)
実際にjoin関数を使って文字列を連結してみます。
記述例
>>> nice_stick = ['うまい棒が','大好き','です。']
>>> umaibo = ''.join(nice_stick)
>>> print(umaibo)
うまい棒が大好きです。
join()を使わずにfor文で繰り返し処理を行えば同じ結果を得ることはできますが、
コードが複数行となりますが、Joinを使うと1行のコードですみます。
任意の区切り文字で結合
「’’」内に任意の区切り文字を指定すれば、各要素を指定した区切り文字で結合できます。
記述例
>>> today = ['2020','4','20']
>>> today2 = '-'.join(today)
>>> print(today2)
2020-4-20
数値は文字列に変換して連結・結合
数値をそのまま結合しようとするとエラーになります。
エラー記述例
>>> today = [2020,4,20]
>>> today2 = '-'.join(today)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found
「文字列だと思ってたのに整数じゃねーか!」とpython殿下が怒ってます。
ということで、数値は文字列に変換しましょう。
文字列への変換方法は2つあります。
1つ目は先ほどの日付の結合で使用した、2020などの数値を「’’」で囲う事で文字列として処理されるため、エラーは発生しません。
2つ目はstr()関数を使って数値を文字列に変更してから結合する方法です。
記述例
>>> today = [2020,4,20]
>>> today3 = '-'.join([str(today2) for today2 in today])
>>> print(today3)
2020-4-20