Pythonで文字列を結合(連結)する3つの方法!

Python Python

Pythonで文字列を結合する方法について書いています。
文字列を結合する場合には、下記の演算子やメソッドを使用できます。

・プラス演算子(`+`)を使う
・プラスイコール演算子(`+=`)を使う
・joinメソッドを使う(文字列のリストから結合)

サンプルコードはPythonのバージョン3.9.12で動作を検証しています。

プラス演算子を使って結合する

プラス演算子を使うことで、結合することが可能です。
文字列や文字を格納した変数に対して、演算子を使用して結合します。

例えば、下記のように使います。

text1 = 'hello,'
text2 = 'world!!'
print(text1 + text2) # hello,world!!

text3 = 'りんごは'
print(text3 + 'apple!!') # りんごはapple!!

text1変数に「hello,」という文字列を格納しました。
text2変数にも同じように、文字列「world!!」を格納しました。

ふたつの変数をプラス演算子(+)で結合して、print関数で出力しています。
結果、結合されて「hello,world!!」が出力されました。

次にtext3変数に「りんごは」を入れて、文字列の「apple!!」とプラス演算子で結合しています。
print関数で出力すると、「りんごはapple!!」になっていることが確認できました。

このように文字列や文字列の変数を、プラス演算子を使って結合することが可能です。
結合した結果をprint関数で出力しましたが、下記のように変数で受け取ることもできます。

result = "pen painapple" + " apple pen"
print(result) # pen painapple apple pen

プラスイコール演算子を使って、代入と結合を一緒にする

プラスイコール演算子(+=)を使うことで、代入と結合を一緒に行うことができます。

例えば、下記のように使います。

fruitsText = 'apple,'
fruitsText += 'banana,'
fruitsText += 'orange,'
fruitsText += 'grape'
print(fruitsText) # apple,banana,orange,grape

最初にfruitsText変数に文字列「apple,」を代入しています。
その後にfruitsText変数に対して、文字列「banana,」をプラスイコール演算子で追加しました。

同じようにして、文字列「orange,」と文字列「grape」も追加しています。
出力して確認すると「apple,banana,orange,grape」が出力されました。

このようにプラスイコール演算子で、元の文字列に足して、結合していくことが可能です。
プラス(+)をつけない場合は、代入になるので、そのまま上書きされます。

joinメソッドを使って結合する

文字列からjoinメソッドを使って、渡したリストの文字列を結合することができます。
joinメソッドの呼び出し元の文字列は、リスト文字列の間に入れる文字列になります。

例えば、下記のように使います。

sushiTexts = ['サーモン', 'はまち', 'エンガワ', 'たまご', 'まぐろ']
print(''.join(sushiTexts)) # サーモンはまちエンガワたまごまぐろ
print(', '.join(sushiTexts)) # サーモン, はまち, エンガワ, たまご, まぐろ

最初にsushiTextsリストに5つの寿司ネタの文字列を入れました。
次の行で、空文字(”)からjoinメソッドを呼んでいます。

空文字なので、リストの文字列が空文字で結合されて、結果が返っていきます。
出力すると「サーモンはまちエンガワたまごまぐろ」が出力されました。

次の行では、文字列「, 」からjoinメソッドを呼んでいます。
呼び出し元の文字列で、リストの文字列を全て結合して返します。
そのため、こちらは結果が「サーモン, はまち, エンガワ, たまご, まぐろ」となります。

渡すのはiterableなので、タプルを渡しても同じように結合可能です。

sushiTexts = ('サーモン', 'はまち', 'エンガワ', 'たまご', 'まぐろ')
print(''.join(sushiTexts)) # サーモンはまちエンガワたまごまぐろ
print(', '.join(sushiTexts)) # サーモン, はまち, エンガワ, たまご, まぐろ

文字列を繰り返し結合する

小技になりますが、乗算演算子(*)を使うことで文字列を繰り返して、結合することができます。

print('さよなら〜!' * 3) # さよなら〜!さよなら〜!さよなら〜!

このように、文字列に乗算演算子(*)を使いました。

右側の数値分、文字列を繰り返してくれます。
「さよなら〜!」に* 3としたことで、3回繰り返して、結果「さよなら〜!さよなら〜!さよなら〜!」となりました。

コメント

タイトルとURLをコピーしました