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

Python文字列-基本的な文字列操作の概要

文字列は、Pythonの基本的なデータ型の1つです。 Python文字列は、文字、数字、およびその他の特殊文字で構成される任意の数の文字の組み合わせです。このチュートリアルでは、さまざまなシナリオで使用するために、それらを作成、操作、およびフォーマットする方法を学習します。

Pythonで新しい文字列を作成する

新しいPython文字列を作成するには、一重引用符または二重引用符で囲まれた文字のシーケンスを宣言する必要があります。三重引用符は、複数行の長さの文字列にも使用されます。

double_quotes = "My name is John!"

single_quotes = 'My name is John!'

multi_line_string = '''1. My name is John!
                       2. I am a programmer'''
文字列のインデックス作成

Python文字列のすべての文字には、整数のインデックスがあります。索引付けは、最初の文字の0から始まり、文字列に沿って増加します。次の例に示すように、個々の文字のインデックスを使用して、文字列からその文字を取得できます。

myPet = "Dog not a cat"

myPet[0]  # 'D'
myPet[5]  # 'o'
myPet[7]  # ' '
myPet[12] # 't'
# myPet[15] # IndexError

最終文字のインデックスを超えて文字にアクセスしようとすると、 IndexErrorが発生します 。

負のインデックスを使用して、文字列内の文字にアクセスできます。この場合、インデックスは文字列の最後の文字で-1から始まり、逆方向に進むにつれて負に増加します。

myPet = "Dog not a cat"

myPet[-1] # 't'
myPet[-6] # ' '
myPet[-8] # 'o'
myPet[-13] # 'D'
文字列のスライス

スライスは、文字列からサブ文字列(文字列の一部)を抽出する方法です。このタスクは、文字列のインデックス作成を利用して実行されます。

myPet = "Dog not a cat"

myPet[5:7] # 'ot'
myPet[1:12] # 'og not a ca'

ここでは、2つのインデックスがコロンで区切られて提供されています。最初のインデックスはスライスを開始する場所を示し、2番目のインデックスは停止する場所を示します。結果のサブストリングには、開始インデックスから終了インデックスの前の文字までの文字が含まれ、終了インデックスの文字はサブストリングに含まれません。

開始インデックスを指定しない場合、スライスは文字列の最初の文字から始まります。終了インデックスを指定しない場合、スライスは最後の文字で終了し、結果のサブストリングに含めます。

myPet = "Dog not a cat"

myPet[:7] # 'Dog not'
myPet[10:] # 'cat'
myPet[:] # 'Dog not a cat'

スライスインデックスとして負のインデックスを提供することもできます。

myPet = "Dog not a cat"

myPet[10:-1] # 'ca'
文字列の長さ

組み込みのPythonメソッドlen() 文字列の長さを出力します。

myPet = "Dog not a cat"
len(myPet) # 13
文字列を反復処理

forを使用して、文字列内の各文字を反復処理できます ループ。

例:

name = "John"
for char in name:
    print(char)
# 'J', 'o', 'h', 'n'
文字列の連結

文字列の連結とは、2つ以上の文字列を結合して1つの文字列を作成することです。 Pythonには、文字列を連結するためのいくつかの方法があります。

1つは+を使用しています オペレーター。

str1 = 'Hello'
str2 = 'World'
concat_str = str1 + str2 # 'HelloWorld'
concat_str = str1 + ' ' + str2 # 'Hello World'

*を使用できます 文字列をそれ自体に何度でも連結する演算子。

concat_str = str1*3 # 'HelloHelloHello'

文字列を連結する別の方法は、join()を使用することです。 メソッド。

組み込みのjoin() メソッドは、共通の区切り文字を使用して文字列の配列を連結するために使用されます。

arr = [str1, str2]
concat_str = (' ').join(arr) # 'Hello World'
concat_str = (',').join(arr) # 'Hello,World'

上記のコードでは、最初のjoin() メソッドは、配列内のすべての単語の間に空白を追加します。

2番目のjoin() メソッドは、配列内のすべての単語の間にコンマを挿入します。

文字列と整数の連結

Pythonでは、文字列を整数に連結することもできますが、+を使用することはできません。 オペレーター。次のコードを使用しようとすると:

name = "John"
age = 35

print(a + b)

次のようになります:

Traceback (most recent call last):
  File "concat.py", line 5, in <module>
    print(a + b)
TypeError: can only concatenate str (not "int") to str
注:+を使用して、文字列と整数を連結することはできません。 オペレーター。

このエラーを回避するために、str()を使用できます。 整数を文字列に変換するメソッド。例:

name = "John "
age = "35"

print(a + str(b)) #John 35
文字列を分割する方法

組み込みのsplit() メソッドは、単一の文字列を文字列の配列に分割するために使用されます。

string = "My name is John"
split_arr = string.split(' ') # ['My', 'name', 'is', 'John']

We can also split a string using a separator:

string = "John, Rose, Jack, Mary"
split_arr = string.split(', ') # ['John', 'Rose', 'Jack', 'Mary']
ストリップ-空白を削除

strip() 、組み込みの文字列メソッドを使用して、文字列の最初と最後から空白を削除します。

string = "    Hello,    World    "
stripper_str = string.strip() # 'Hello,    World'

ご覧のとおり、strip() 他の文字の間にある空白は削除せず、両端のみを削除します。

strip()には2つのバリエーションがあります メソッド、左ストリップと右ストリップ:

  • lstrip()
  • rstrip()

これらのメソッドは、文字列の左側と右側の空白をそれぞれ削除します。

例:

lsplit_str = string.lstrip() # 'Hello,    World    '
rsplit_str = string.rstrip() # '    Hello,    World'

Stripメソッドは、ユーザーが余分な空白を渡す可能性があるユーザー入力を読み取るときに特に役立ちます。

文字列のフォーマット

Pythonのformat() メソッドは文字列をフォーマットするために使用されます。中括弧{} format()に提供された引数で置き換える必要のある部分のプレースホルダーとしてフォーマットする必要がある文字列内で使用されます メソッド。

例:

"Hello, {}".format('John') # 'Hello, John'

上記の例では、{} フォーマットされた文字列では「John」に置き換えられます。

文字列内で複数の中括弧を使用してフォーマットできます。これらは、format()に提供された引数に置き換えられます 提供された順序(中括弧内に位置インデックスが記載されていない場合)または位置順序のいずれかでメソッドを実行します。

例:

"I have a {}, {}, and a {}".format('dog', 'cat', 'rabbit') # 'I have a dog, cat, and a rabbit'
"I have a {1}, {0}, and a {2}".format('dog', 'cat', 'rabbit') # 'I have a cat, dog, and a rabbit'

インデックスを使用する代わりに、format()にキーワード引数を指定できます。 これらのキーワードを中括弧内で使用できるようにする方法。

例:

print("{friend} is my friend and {enemy} is my enemy".format(friend="John", enemy="Jack"))
# 'John is my friend and Jack is my enemy'

format() この方法は、多くのユースケースで使用できるため、非常に用途が広いです。

format()の他のアプリケーションを次に示します。 方法:

arr = [3, 5]
'I have {0[0]} dogs and {0[1]} cats'.format(arr)
# 'I have 3 dogs and 4 cats'

#convert numbers to different bases
"int: {0:d};  hex: {0:x};  oct: {0:o};  bin: {0:b}".format(42)
# 'int: 42;  hex: 2a;  oct: 52;  bin: 101010'
文字列を小文字に変換

Pythonのlower()を使用する メソッドでは、文字列を小文字に変換できます。

例:

string = "Hello, World!"
string.lower() # 'hello, world!'
文字列を大文字に変換

同様に、Pythonのupper()を使用します メソッドでは、文字列を大文字に変換できます。

例:

string = "Hello, World!"
string.upper() # 'HELLO, WORLD!'
結論

このチュートリアルの助けを借りて、Python文字列と、文字列操作にさまざまなメソッドを使用する方法に精通していることを願っています。

参照:Pythonの文字列ドキュメント


  1. Python-文字列の最後の単語の長さを検索します

    文字列の最後の単語の長さを見つける必要がある場合、文字列の余分な空白を削除し、文字列を反復処理するメソッドが定義されます。最後の単語が見つかるまで繰り返します。次に、その長さが検出され、出力として返されます。 例 以下は同じもののデモンストレーションです def last_word_length(my_string): init_val = 0 processed_str = my_string.strip() for i in range(len(processed_str)): if processed_str[i] == " ":

  2. リスト内の文字列を検索するPythonプログラム

    リスト内で文字列を検索する必要がある場合は、単純な「if」条件と「in」演算子を使用できます。 例 以下は同じもののデモンストレーションです my_list = [4, 3.0, 'python', 'is', 'fun'] print("The list is :") print(my_list) key = 'fun' print("The key is :") print(key) print("The result is :") if key in my_l