Python で文字列を半分に分割

Manav Narula 2021年7月13日
Python で文字列を半分に分割

文字列は、文字のシーケンスと見なすことができます。Python では、このようなオブジェクトは不変であり、さまざまな関数を使用して操作できます。

このチュートリアルでは、Python で文字列を 2つに分割する方法について説明します。

これを実現するために、文字列スライス方式を使用します。

文字列では、すべての文字が特定の位置に格納されます。これらのインデックスを使用して文字にアクセスできます。文字列スライスは、インデックス作成方法を使用して文字列をサブ文字列に分割する方法です。このメソッドを使用して、文字列を半分に分割できます。

以下のコードを参照してください。

s = "string"
s1 = s[: len(s) // 2]
s2 = s[len(s) // 2 :]
print(s1, s2)

出力:

str ing

上記のコードでは、偶数の文字を含む文字列を処理していました。ここでの len() 関数は、文字列の長さを返すために使用されます。文字列を、文字の前半を含む半分と、残りの半分を含む後半の部分文字列に分割します。

床分割を実行し、整数が返されるため、//演算子を使用して文字列の長さを分割します。奇数の文字を含む文字列を処理する場合、余分な文字を処理する必要があり、その結果、長さが等しくない 2つの部分文字列が生成されます。

例えば、

s = "example"
s1 = s[: len(s) // 2]
s2 = s[len(s) // 2 :]
print(s1, s2)

出力:

exa mple

必要に応じて、この余分な文字を削除することもできます。これを実現するには、上記のコードにわずかな変更を加えるだけです。if() ステートメントを使用して、文字列の長さが偶数かどうかを確認します。偶数の場合は、2 で分割し、文字列を分割します。それ以外の場合は、半分を 1 ずつインクリメントし、途中の余分な文字をスキップします。

例えば、

s = "example"
s1 = s[: len(s) // 2]
s2 = s[len(s) // 2 if len(s) % 2 == 0 else (((len(s) // 2)) + 1) :]
print(s1, s2)

出力:

exa ple

slice() コンストラクターを使用して文字列スライスを実行することもできます。このメソッドを使用するには、この関数を使用してオブジェクトを開始する必要があります。このオブジェクトを使用してスライスを実行し、文字列を 2つに分割します。

例えば、

s = "string"
a = len(s)
s1 = slice(0, len(s) // 2)
s2 = slice(len(s) // 2, len(s))
print(s[s1], s[s2])

出力:

str ing

この記事では、文字列を 2つの等しい部分に分割する方法について説明したことに注意してください。上記のメソッドを非常に簡単に使用して、いくつかのインデックスに基づいて文字列を分割することもできます。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python String