Pythonで「+」演算子を使わずに文字列を連結する方法
str.join()メソッドを使う
「+」演算子を使わずに文字列を連結したい場合は、文字列クラスが標準で提供している str.join() メソッドを使用します。このメソッドは、連結したい文字列のリスト(イテラブル)を引数として受け取り、それらを1つの文字列にまとめて返します。
重要なのは、join を呼び出す側の文字列が「区切り文字」として機能するという点です。つまり、渡したリスト内の各文字列の間に、その区切り文字が挿入されます。
使用例
>>> ' '.join(['Hello', 'World']) 'Hello World' >>> ''.join(['Hello', 'World', 'People']) 'HelloWorldPeople' >>> ', '.join(['Hello', 'World', 'People']) 'Hello, World, People'
上記の例のように、スペース(' ')やカンマ+スペース(', ')を区切り文字として指定すれば、読みやすい形式で連結できます。また、空文字列('')を指定すると、区切り文字なしで単純に文字列をつなげることも可能です。
補足:「+」演算子よりもjoin()が好まれる理由
大量の文字列をループ処理などで連結する場合、「+」演算子を繰り返し使うと、そのたびに新しい文字列オブジェクトが生成されるため、処理が遅くなりがちです。一方、join() は最終的な文字列のサイズを先に計算して一度に連結するため、パフォーマンス面で優れています。
なお、リスト内に数値などの文字列以外の要素が含まれていると TypeError が発生するため、事前に str() 関数で文字列へ変換しておく必要がある点にも注意しましょう。
-
Pythonで文字列を逆順にする方法|スライスとreversed()の使い方を解説
Pythonでは、文字列スライスやrange演算子を活用することで、文字列を簡単に逆順(反転)にすることができます。この記事では、代表的な2つの方法をわかりやすく解説します。 方法1:スライス記法 [::-1] を使う(推奨・高速) 最もシンプルで一般的なのが、スライス記法を使う方法です。ステップに -1 を指定するだけで、文字列を後ろから前へ一文字ずつ取り出せます。 >>> Hello[::-1] olleH >>> Halloween[::-1] neewollaH スライスの仕組み 角括弧 [] の中には、コロン「:」で区切った3つの値を指定できます
-
Pythonで文字列の先頭の空白(スペース・タブ・改行)をすべて削除する方法
lstrip()メソッドで先頭の空白を削除するPythonで文字列の先頭にある空白文字(半角スペース、タブ、改行など)をすべて削除したい場合は、lstrip()メソッドを使用します。引数を指定しないで呼び出すと、文字列の先頭に連続するすべての空白文字が取り除かれます。>>> hello world!.lstrip() hello world!このように、インデントや改行コードなどで汚れた文字列の先頭を簡単にきれいにすることができます。strip()メソッドで両端の空白を同時に削除する文字列の先頭と末尾(両端)の空白を一度に削除したい場合は、strip()メソッドが便