ホームページ >バックエンド開発 >Python チュートリアル >Python - インデックス作成とスライス

Python - インデックス作成とスライス

王林
王林オリジナル
2024-07-25 09:15:42328ブラウズ

Python - Indexing and Slicing

インデックス作成とスライスは、Python の重要な概念であり、特に文字列を使用する場合に重要です。

インデックス作成:

WKT、文字列は文字のシーケンスにすぎません。
したがって、各文字には index という位置があり、その特定の文字列内の位置にアクセスすることは インデックス と呼ばれます。

Python では、ゼロベースのインデックスを使用します。つまり、文字列の最初の文字のインデックス (位置) は 1 ではなく 0 になり、2 番目の文字のインデックス (位置) は 1 になります。

たとえば、

>     H E L L O W O R L D
>     0 1 2 3 4 5 6 7 8 9

インデックスの参照に正の数値のみを使用しているため、これは 正のインデックス付け として知られています。

「では、負の指標もあるのですか??」と思われるかもしれません。
もちろん、ここでは負の数ではないため、最初の位置にゼロはありません。

ネガティブ インデックス を使用すると、文字列の末尾から文字にアクセスできます。つまり、最後の文字のインデックスは -1、最後から 2 番目の文字のインデックスは -2 などとなります。

>      H  E  L  L  O  W  O  R  L  D
>    -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
word = "HELLOWORLD"

print(word[0])
print(word[5])

H
W

同様に、

print(word[-1])
print(word[-6])

D
0

インデックス作成については以上です。


スライス:

ストリングをスライスすることは、ホールケーキからケーキのスライスを切り出すことと同じだと考えてください。切断を開始する場所 (インデックス)、終了する場所 (終了インデックス)、さらには各スライスの大きさ (ステップ) を指定できます。こうすることで、ケーキ (またはストリング) の小さな部分を好みどおりに作成することができます!

Python では、文字列をスライスすると、文字列内の開始位置と終了位置を指定して、文字列の特定の部分を取得できます。
したがって、たとえば、メッセージに「HELLOWORLD」が含まれている場合、message[3:7] はインデックス 3 (「L」) で始まり、インデックス 7 (「D」) の直前で終了するため、「LOWO」となります。このようにして、必要な文字列の任意の部分を抽出できます!

- スライスの基本構文は、
です。

string[start:stop]
  • 開始インデックスはスライスが始まる場所であり、このインデックスは包括的です。
  • 停止インデックスはスライスが終了する場所ですが、このインデックスは排他的です。つまり、このインデックスの文字はスライスに含まれません。
text = "HappyBirthday"

print(text[0:5])  
print(text[5:13])

Happy
Birthday  

Python で文字列をスライスする場合、開始インデックスまたは終了インデックスを省略するだけで、文字列の先頭または末尾までスライスできます。
それはとても簡単です!

- ステップ付きスライス、

Python で文字列をスライスするときに文字間の間隔を指定するには、コロンの後にステップ値を追加します。

string[start:stop:step]

これにより、スライスの作成時に文字列の文字をスキップする方法を制御できます。

message = "HELLOWORLD"
print(message[1::2])    

EORL

message[1::2] は、インデックス 1 ('E') から文字列の末尾まで、2 ステップでスライスを開始します。
したがって、インデックス 1、3、5、7 に文字が含まれており、「EORL」となります。

これまでは ポジティブ スライス について見てきましたが、ここからはネガティブ スライスについて学びましょう。

- ネガティブスライス:

  • 負のステップを使用すると、文字列を逆の順序でスライスできます。
  • 最後から 2 番目の文字から 3 番目の文字までを逆の順序でスライスしてみましょう
message = "HELLOWORLD"
print(message[-2:2:-1])

ROWOL

いくつかの質問について調べてみましょう。

#文字列を受け取り、その最初と最後の文字で構成される新しい文字列を返す関数を作成します。

word = "Python"
end = word[0]+word[5]
print(end)

Pn

#指定された文字列を反転する関数を作成します。

word = "Python"
print(word[::-1])

nohtyP

#文字列を指定すると、3 番目から 8 番目の文字 (両端を含む) の部分文字列を抽出して返します。

text = "MichaelJackson"
print(text[3:9])

haelJa

#メール アドレスを指定したら、ドメインを抽出して返します。

email = "hello_world@gmail.com"
domain = email[:-10]
print(domain)

hello_world

#指定された文字列から 3 文字おきに返す関数を作成します。

text = "Programming"
print(text[::3])

Pgmn

#2 文字ごとにスキップし、結果の文字列を反転する関数を作成します。

text1 = "Programming"
print(text1[::-2])

gimroP

#指定された文字列から偶数のインデックスにある文字を抽出して返す関数を作成します。

text = "Programming"
print(text[::2])

Pormig

はい、これがここでの基本です。

....

以上がPython - インデックス作成とスライスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。