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回繰り返して、結果「さよなら〜!さよなら〜!さよなら〜!」となりました。
コメント