Pythonで文字列を別の文字列に追加(連結)する2つの方法
Pythonにおいて「文字列を追加する」というのは、複数の文字列をつなぎ合わせて新しい文字列を作ること(連結)を意味します。テキスト解析など、さまざまな場面で活用される基本的な操作です。
この記事では、ある文字列を別の文字列に追加するための代表的な2つの方法を、サンプルコードと実行結果とともに解説します。
方法1:+= 演算子を使う
+ 演算子は、数値に対して使う場合と同じように文字列にも使用できます。ただし、文字列の場合は数値の加算ではなく連結が行われる点が異なります。
コード例
s1 = "What a beautiful "
s2 = "flower "
print("与えられた文字列 s1 :", s1)
print("与えられた文字列 s2 :", s2)
# += 演算子による連結
res1 = s1 + s2
print("連結後の結果 :", res1)
# 数値を文字列として扱う場合
s3 = '54'
s4 = '02'
print("与えられた文字列 s3 :", s3)
print("与えられた文字列 s4 :", s4)
res2 = s3 + s4
print("連結後の結果 :", res2)実行結果
上記のコードを実行すると、次のような出力が得られます。
与えられた文字列 s1 : What a beautiful 与えられた文字列 s2 : flower 連結後の結果 : What a beautiful flower 与えられた文字列 s3 : 54 与えられた文字列 s4 : 02 連結後の結果 : 5402
注目すべきは、数値のように見える '54' と '02' も文字列として扱われるため、計算結果の「56」ではなく、単純に連結された「5402」が出力される点です。
方法2:join() メソッドを使う
join() メソッドも、先ほどの + 演算子と同様に文字列の連結に利用できます。このメソッドの特徴は、任意の個数の文字列を一度に結合できることです。結果は + 演算子を使った場合と同じになります。
コード例
s1 = "What a beautiful "
s2 = "flower "
print("与えられた文字列 s1 :", s1)
print("与えられた文字列 s2 :", s2)
print("連結後の結果 :", " ".join((s1, s2)))
# 数値を文字列として扱う場合
s3 = '54'
s4 = '02'
print("与えられた文字列 s3 :", s3)
print("与えられた文字列 s4 :", s4)
print("連結後の結果 :", "".join((s3, s4)))実行結果
上記のコードを実行すると、次のような出力が得られます。
与えられた文字列 s1 : What a beautiful 与えられた文字列 s2 : flower 連結後の結果 : What a beautiful flower 与えられた文字列 s3 : 54 与えられた文字列 s4 : 02 連結後の結果 : 5402
まとめ
文字列の連結には、直感的に書ける「+= 演算子」と、複数の文字列を柔軟に結合できる「join() メソッド」の2つの方法があります。特に、大量の文字列を繰り返し連結する場合には、join() メソッドの方がパフォーマンス面で有利なので、用途に応じて使い分けるとよいでしょう。
-
Pythonで文字列の末尾にゼロを追加する方法
データ処理を行っていると、ある文字列の後ろに別の文字列を連結したい場面に出くわすことがあります。本記事では、指定した文字列の末尾に動的な個数の「0」を追加する方法を、いくつかの文字列操作機能を使ったサンプルコードとともにわかりやすく解説します。 ljust()とlen()を使う方法 Pythonの文字列メソッドljust()は、指定した幅(width)の文字列の中で元の文字列を左寄せにして返します。余った部分は引数で指定した埋め込み文字(fillchar)で埋められます(デフォルトは半角スペース)。また、len()は文字列の長さを返す関数です。この2つを組み合わせ、「元の文字列の長さ+追加した
-
Pythonで文字列内の単語を逆順に並べ替える方法
Pythonでは、split()メソッドとreversed()関数を組み合わせることで、文字列内のすべての単語を簡単に逆順にすることができます。この記事では、具体的な手順とサンプルコードを通じて、その実装方法を解説します。 やりたいこと まず、入力と出力のイメージをサンプルで確認しましょう。 入力: string = I am a python programmer 出力: programmer python a am I 別の例も見てみます。 入力: string = tutorialspoint is a educational website 出力: website educatio