「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python - インデックス作成とスライス

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

2024 年 8 月 1 日に公開
ブラウズ:932

Python - Indexing and Slicing

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

インデックス作成:

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

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 = "[email protected]"
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

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

....

リリースステートメント この記事は次の場所に転載されています: https://dev.to/abys_learning_2024/python-indexing-and-slicing-2moh?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3