どーもTakeです。
この記事では、Pythonで「join」メソッドの使い方について簡単に解説します。
Python の「join」とは文字列を連結・結合させるメソッドのことです。
「join」メソッドをつかうことで配列(リスト)、map関数、読み込んだファイルデータといった
様々な文字列を結合させることが可能です。
この記事では、「join」メソッドの基本的な文字列・数値配列の連結・結合方法について
具体的なソースコードを例にをわかりやすく説明します。
- 基本的な「join」メソッドの構文(文字列配列の連結・結合方法)
- 数値配列の連結・結合方法について(2パターンをご紹介!)
基本的な「join」メソッドの構文
「join」メソッドの基本的な構文は下記になります。
1 |
区切り文字.join(結合させる文字列) |
少し変わった構文だと思いますが、①「区切り文字」②「結合させる文字列」とこの二つの要素を指定すれば
文字列の結合が可能です。
例として「join」メソッドをつかったソースコードを下記に示します。
1 2 3 4 5 6 7 |
s = "" array = ['abc','あいうえお','123'] result = s.join(array) print(result) ## 実行結果 abcあいうえお123 |
上記ソースコードでは次のように変数を指定し、
文字列を結合させた値を変数 result に格納します。
- 「区切り文字」・・・ s = ""
- 「結合させる文字列」・・・ array = ['abc','あいうえお','123']
このコードは解説用に冗長に書いていますが、シンプルに下記のように記載しても結果は問題ありません。
1 2 3 4 5 |
array = ['abc','あいうえお','123'] print("".join(array)) ## 実行結果 abcあいうえお123 |
区切り文字について
区切り文字については、先ほどのソースコードの変数 s = ""(区切り文字を意味する変数) を変更すればOKです。
例えば「・」という区切り文字とする場合、下記のようにstr = "・" します。
1 2 3 4 5 6 7 |
s = "・" array = ['abc','あいうえお','123'] result = s.join(array) print(result) ## 実行結果 abc・あいうえお・123 |
数値の連結方法
たとえば下記のような数値を含む配列があるとします。
1 |
array = [123,2124,43242] |
この配列を「join」メソッドを用いて結合するとエラーが発生し、結合できません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
s = "・" array = [123,2124,43242] result = s.join(array) print(result) ## 実行結果 TypeError Traceback (most recent call last) <ipython-input-9-c757761f5ce7> in <module> 1 s = "・" 2 array = [123,2124,43242] ----> 3 result = s.join(array) 4 print(result) TypeError: sequence item 0: expected s instance, int found |
エラー解決方法として下記二つの手法で考えられます。
- 数値の配列を文字列の配列に変換してから「join」メソッドを使用する
- map関数で文字列に変換して「join」メソッドを使用する
数値の配列を文字列の配列に変換してから「join」メソッドを使用する
数値の配列を文字列の配列に変換してから「join」メソッドを使用する方法についてです。
非常にシンプルな手法で、配列 array の中身を一度配列 s_array に代入します。
その代入する際に、str()という数値→文字列に変換するメソッドを利用します。
下記ソースコードに例を示します。
1 2 3 4 5 6 7 8 |
s = "・" array = [123,2124,43242] s_array = [str(n) for n in array] result = s.join(s_array) print(result) ## 実行結果 123・2124・43242 |
map関数で数値を文字列に変換して「join」メソッドを使用する
こちらも手法についてですが、map関数を用いて数値→文字列と変換します。
map関数は「map(関数、リスト)」とすることで、
第一引数の関数を第二引数のリストの全要素に対して実行しその結果を返してくれます。
ここでは、第一引数の関数を「str()」を指定し、第二引数に数値の配列(リスト)を指定すればOKです。
下記ソースコードに例を示します。
1 2 3 4 5 6 7 8 |
s = "・" array = [123,2124,43242] s_array = map(str,array) result = s.join(s_array) print(result) ## 実行結果 123・2124・43242 |
最後に
いかがでしたでしょうか?
この記事では、Pythonで「join」メソッドの使い方についてを解説しました。
この記事を参考にPythonで文字列、数値を結合処理についてマスターしていただければ幸いです。
ではでは。