【Python】リストの添え字:末尾側から値をとりだせますか?
こんにちは!シェル・ソートのシリーズの途中ですが、今回はリストの添字の話をいたします。添え字は、リストなどの0で始まる通し番号でしたね。
「今さらかいな😑」
まあ、そうおっしゃらず。というのは、シェル・ソートを実現するコードの知識を先に提供しておきたいのです。必ずしも、今回ご紹介する知識を使わなくても実現できるかもしれませんが、いずれにせよ大事なことなので一度扱わせてください。
何の話かといいますと、添え字の符号んがマイナスだったらどうなるか、というものです。
「添字ってマイナスにできるんだ😮」
はい!でも、要素中のどこの要素を示しているのか気になりますね。今回はそれを確認することにしましょう!これでまた、リスト操作のスキルが上がりますよ。では、気になる方は続きをお読みください😄。
正の添え字:気をつけるのは「0」から始まることだけだ
では、添え字が負の値であるときは後回しにして、ますは、添え字が正の値であった場合、リストのどの要素を指し示しているのか確認しましょう。
次のような簡単なコードを準備しました。操作対象のリストは、7つの3の倍数の要素で構成されています。そのリストの添え字「0,1,2,3,4,5,6」に当たる要素を順番に出力しています。
「左から順番に要素の値が取り出されましたね🙂」
そういうことです。つまり、添え字が「0」のときは、一番左の要素を指しています。その以降、添え字が「1」のときは左から2番目、「2」のときは、左から「3」番目を指すことになります。以降同様です。添え字が「0」から始まるので、位置の番号が一つずれているように感じますよね…。
ということで、正の添え字については、一番左の添え字が「0」で始まることに注意すれば、それでOKです。
負の添え字:右側から位置を指定したい
続いて、添え字がマイナスだったら、どうなるか見てみましょう。次のコードは、添え字が、「-1,-2,-3,-4,-5,-6,-7」の要素を順番に出力しました。
「おお、右側から順番に出力されましたね😄」
ですね。つまり、符号をマイナスにすれば、リストの右側から順に値を取り出すことができるわけです。行いたい処理によっては、リストの値を先頭側から取り出すのではなく、末尾側から取り出した方が都合がいいときがあります。そんなときは、マイナスで符号を指定すればいいんですね。
「あれ、リストの末尾から位置をしているときはゼロから始まらないんですね🤔」
そうそう。「0」は、あくまでリストの先頭の位置を示すものです。リストの末尾は、「0」ではなく「ー1」から始まります。この方が人間にとっては、直感的と言えば、そうですね…。
はい、以上、添え字をマイナスにしたときに指定できる要素はどれか、というお話でした~。
基本中の基本でしたか?でも基本はとても大事です。軽んじると、いざコードを書くときにつまづきかねません。
そうだ、一応コードを貼っておきます。
data = [3,6,9,12,15,18,21]
for i in range(0, 7):
print(data[i])
data = [3,6,9,12,15,18,21]
for i in range(-1, -8, -1):
print(data[i])
では、ビーダゼーン!
※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。