Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの文字列partition()メソッドの使い方を徹底解説

このチュートリアルでは、Pythonの文字列メソッドの一つであるpartition()について詳しく学んでいきます。

partition()メソッドとは

partition()メソッドは、引数として区切り文字(separator)を1つ受け取り、以下の3つの要素からなるタプルを返します。

  • 区切り文字より前の部分文字列
  • 区切り文字そのもの
  • 区切り文字より後ろの部分文字列

なお、文字列中に区切り文字が複数存在する場合、最初に出現した位置でのみ分割が行われる点に注意してください。

基本的な使い方

partition()メソッドを使う手順は以下の通りです。

  • 文字列を初期化します。
  • partition(separator)メソッドを使って分割結果のタプルを出力します。
  • 区切り文字は任意のものを指定できます。

サンプルコード

# 文字列を初期化
string = "Tutorialspoint is a great place to learn Python"
# スペースを区切り文字として分割
print(string.partition(' '))

実行結果

上記のコードを実行すると、次のような出力が得られます。

('Tutorialspoint', ' ', 'is a great place to learn Python')

このように、最初のスペースを境に文字列が3つの要素に分割され、タプルとして返されていることがわかります。

区切り文字が見つからない場合の挙動

指定した区切り文字が文字列内に存在しない場合、partition()メソッドは「元の文字列全体」と「2つの空文字列」からなるタプルを返します。具体的な例を見てみましょう。

サンプルコード

# 文字列を初期化
string = "Tutorialspoint is a great place to learn Python"
# 存在しない区切り文字で分割を試みる
print(string.partition('tutorialspoint'))

実行結果

上記のプログラムを実行すると、次のような結果になります。

('Tutorialspoint is a great place to learn Python', '', '')

大文字と小文字が区別されるため、「tutorialspoint」(小文字始まり)は元の文字列には存在せず、結果的に文字列全体と2つの空文字列がタプルとして返されました。エラーが発生しないのがpartition()メソッドの特徴です。

まとめ

partition()メソッドを使えば、指定した区切り文字を基準に文字列を簡単に3分割できます。区切り文字が見つからない場合でもエラーにならず安全に処理できるため、文字列解析やデータ処理の場面で非常に便利です。類似のメソッドであるrpartition()(右側から検索するバージョン)やsplit()との違いも理解しておくと、さらに活用の幅が広がります。

本チュートリアルについて質問がある場合は、コメント欄でお気軽にお尋ねください。

  1. Pythonで文字列を逆順に反転する方法|追加メモリ不要のインプレース手法

    文字の配列が与えられたとき、追加のメモリ領域を使用せずに文字列を逆順に反転することを考えます。たとえば、入力が [H, E, L, L, O] である場合、期待される出力は [O, L, L, E, H] となります。 解法のアプローチ この問題は「Two Pointers(ツーポインタ)」と呼ばれる定番のテクニックで効率的に解けます。考え方はシンプルで、配列の両端から中央に向かって文字を交換していくだけです。 手順 2つのポインタを用意します:start = 0、end = 文字列の長さ - 1 s[start] と s[end] の文字を入れ替えます start を1つ増やし、end を

  2. Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説

    Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial