Pythonで文字列同士や文字列と数値を結合させる方法が分からない方も多いのではないでしょうか。
本記事ではPythonで文字列・数値・変数を結合させる方法についてまとめました。
結合させるさまざまな方法について解説していますので、ぜひ参考にしてください。
Pythonで文字列・数値・変数を結合させる方法
Pythonで文字列・数値・変数を結合させる方法についてみていきましょう。
以下の順番にもとづいて解説していきます。
- 文字列同士を結合させる
- 文字列と数値を結合させる
- リストに格納された文字列を結合させる
- リストに格納された数値を結合させる
- 同じ文字列を繰り返し結合させる
1)文字列同士を結合させる
まず、文字列同士を結合させる方法について解説します。
文字列同士を結合させるのに使うのが「演算子」です。
○コード例
str = "Hello" + "World"
print(str)
○実行結果
上記のコードでは「+」という演算子が使われています。
「+」を使うことによって、まるで足し算のように文字列を繋ぎ合わせることができます。
これが文字列同士を結合させる基本のやり方となります。
なお、文字列にはスペースも含まれるため、次のようにスペースも結合させることが可能です。
○コード例
str = "Hello" + " " + "World"
print(str)
○実行結果
このように「+」を2つ使うことで、3つの文字列を結合させることができます。
また、変数に格納された文字列も同じく「+」で結合させることが可能です。
○コード例
str1 = "Hello"
str = str1 + " " + "World"
print(str)
○実行結果
2)文字列と数値を結合させる
続いて、文字列と数値を結合させるやり方についてみていきましょう。
文字列と数値は先程同様に「+」で結合させようとするとエラーが表示されてしまいます。
○コード例
string = "Hello" + 2
print(string)
○実行結果
文字列と数値の結合は基本的には行うことができないということです。
ではどうすれば良いのかというと、数値を文字列に変換する必要があります。
数値を文字列に変換するには「str」関数が必要です。
○コード例
string = "Hello" + str(2)
print(string)
○実行結果
上記のコードは「2」を文字列型に変更し、その上で結合させています。
数値と文字列を結合させる場合、このように変換させる必要があります。
なお、Pythonの文字列型や数値型といった「データ型」がよく分からない方は、【入門編4】Pythonの変数、データ型にとついて学ぼうを読んで復習することをおすすめします。
3)リストに格納された文字列を結合させる
続いて、リストに格納された文字列を結合させる方法を解説します。
リストに格納されたデータを取り出し、1つの文字列にしたい場合があります。
こういった際はjoinメソッドが便利です。
○コード例
l = ["Apple", "Banana", "Melon"]
string = "".join(l)
print(string)
○実行結果
上記のコードではjoinメソッドによって、配列に格納された要素を文字列に変換しています。
4)リストに格納された数値を結合させる
続いて、リストに格納された数値を結合させる方法を解説します。
数値を結合させるには、先程同様にstr関数を使って文字列に変換します。
リストに格納された数値を結合させる場合、内包表記が便利です。
○コード例
l = [1, 2, 3]
string = "".join([str(n) for n in l])
print(string)
○実行結果
上記のコードは、内包表記によってリストの要素を1つずつ取り出しています。
そして、要素を1つずつstr関数によって文字列に置換させた後に、joinメソッドで結合させています。
このように内包表記を使えば、少ないコード量でリスト内の数値を結合できます。
5)同じ文字列を繰り返し結合させる
最後に、同じ文字列を繰り返し結合させる方法をみていきましょう。
同じ文字列を結合させて表示するには次のようにします。
○コード例
str = "Hello"
print(str * 5)
○実行結果
上記のように、文字列に対して「*」で数値をかけることによって、その数値分だけ文字列を結合させることができます。
その他Pythonで文字列を結合させる様々なやり方
ここまで、演算子を使って文字列などを結合させるやり方をみてきました。
ただ、文字列などを結合させるやり方は実は他にもあります。
たとえば次の3つが挙げられるでしょう。
- 文字列を並べて結合させる
- format関数で結合させる
- f文字列を利用して結合させる
他の人のソースコードを読む場合などに備えて、他の文字列結合方法についても覚えておくと良いです。
1)文字列を並べて結合させる
「+」演算子を使わなくても、文字列を並べるだけで結合させることができます。
○コード例
str = "Hello" "World"
print(str)
○実行結果
こちらのやり方でも同じ実行結果になります。
「+」演算子を書かなくて良い分、こちらのやり方の方が良いという考えもあります。
一方で、「+」演算子を使った方がひと目で何をやっているか理解しやすいメリットがあります。
どちらを使うかは好みの問題といえるでしょう。
2)format関数で結合させる
続いて、format関数を使う方法をみていきましょう。
format関数は元々ある文章の中に、文字列を差し込むことができる関数です。
format関数の使い方は次の通りです。
○コード例
str1 = "は"
str2 = "を"
print("私{}Python{}学んでいます".format(str1,str2))
○実行結果
format関数に文字列を引数として指定することで{}の箇所にその文字列を入れることが可能です。
このように、長い文章に短い文字列を差し込む場合、format関数を使うと比較的見やすく記述することができます。
3)f文字列を利用して結合させる
従来は上記のようにformat関数を使うのが主流でした。
しかし、Pythonはバージョン3.6から、format関数を使う場合と全く同じ処理内容を、もっと短いコードで書けるようになっています。
バージョン3.6からf文字列という機能が追加されました。
f文字列を使うことで、先程のコードは次のように書くことができます。
○コード例
str1 = "は"
str2 = "を"
print(f"私{str1}Python{str2}学んでいます")
○実行結果
f文字列を使う場合、冒頭に「f」を入れる必要があります。
{}の箇所に変数を入れることで、変数に格納された文字列を差し込んでいます。
このように、f文字列を使った方がソースコードを簡略化することが可能です。
ただし、この機能はバージョン3.6以前では使えないので注意してください。
まとめ
本記事ではPythonで文字列・数値・変数を結合させる方法について解説しました。
文字列などを結合させるやり方にはさまざまな方法がありますが、演算子を使うやり方が比較的汎用性が高いといえるでしょう。
ただ、formatメソッドやf文字列を使って結合させるやり方も便利ですし、他の人が書いたソースコードで使われてるかもしれないので覚えておくと良いでしょう。