Pythonで覚えておくと便利なこと 〜インデックス指定とは〜

フラッターブログ管理人のTakaです!

花粉症がしんどいですが色々と頑張ります。。。。
みなさんは大丈夫ですか?

今回もPythonに関する記事を書きます!

前回はrange関数について書きましたが、
今回は配列のインデックス指定に焦点を当ててみたいと思います。

最近、フラッターブログではプログラミング関係の記事を載せていますのでよかったら読んで欲しいです!!

プログラム関係記事のURL⬇️⬇️⬇️⬇️

フラッターブログ
Pythonで覚えておくと便利なこと 〜range関数とは〜 ~ フラッターブログ フラッターブログ管理人のTakaです! 最近あったかくなってきましたね! 記事にてPythonに関する事を書きたくなったので基礎的な内容ではありますが、「知っておくと地味に...
にほんブログ村 にほんブログ村へ
クリックいただけると嬉しいです!
PVアクセスランキング にほんブログ村
クリックいただけると嬉しいです
目次

配列のインデックス指定には色々な方法がある

配列のインデックス(配列の要素が格納されている場所が何番目かを示す値)の指定について、通常は前から(1つ目の要素から)何番目にあるかという形で指定することが一般的だと思います。

しかし、インデックスの指定には色々な方法が存在します。この記事では代表的なものをいくつか挙げてみたいと思います。

マイナスで書くと逆方向から参照できる

例えば str = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’] という配列がある場合、正数でインデックス指定すると

print(str[0], str[1], str[2])
>> a b c

と先頭の要素から参照していきますが、インデックス指定にて負数を用いると

print(str[-1], str[-2], str[-3])
>> e d c

のように配列の要素を末尾から指定することができます。配列の末尾の要素を取得したい場合などによく用いられます。


■スライス指定

配列のうちある部分からある部分までの範囲を切り出して取得したい場合はスライス指定が便利です。

スライス指定のやり方は、コロン (:) を用いて str[開始位置 : 終了位置] のように指定します。

この場合「開始位置で指定した位置にある要素 〜 終了位置で指定した要素の1つ手前の要素」までの、
範囲の配列を得ることができます。

例として、str = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’] に対して str[1:3] と指定すると

print(str[1:3])
>> ['b', 'c']

のように配列を取得できます。注意点として、終了位置で指定した位置の要素は含まれない(上記の例の場合、str[3] の ‘d’ は出力に含まれていない)ことが挙げられます。

またスライス指定をする時に、開始位置を省略すると0が指定された状態に、終了位置を省略するとlen(配列)が指定された状態となります。

両方省略すると配列の要素を全指定した状態となります。

print(str[:3])
>> ['a', 'b', 'c']   # str[0:3] と同義

print(str[2:])
>> ['c', 'd', 'e']   # str[2:len(str)] と同義

print(str[:])
>> ['a', 'b', 'c', 'd', 'e']   # str[0:len(str)] と同義


■ステップ指定

配列のインデックスにて、上記で説明したスライス指定をする際にステップを指定することもできます。

ステップを指定するとステップ数刻みで要素を取得することができます

書き方は str[開始位置 : 終了位置 : ステップ数] です。ステップ数を省略した場合は0が指定された状態となります。

例として、str = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’] という配列に対し以下のようにステップ数に2を指定すると、2つ刻みで要素を取得できるようになります。

print(str[1:6:2])
>> ['b', 'd', 'f']

# str[1:6] とすると ['b', 'c', 'd', 'e', 'f'] となるが、ステップ数に2を指定したのでここから2つ刻みで要素が取得されている。

また、ステップには負数を指定することもできます。ステップを負数とする場合は開始位置と終了位置を入れ替える(配列の要素を末尾方向から見る)必要があります。

print(str[6:1:-2])
>> ['g', 'e', 'c']

# 開始位置に6を指定しているため、str[1:6:2] の逆順の配列とはならないことに注意。

—————————————


配列のインデックス指定について、今回挙げたようなやり方を覚えておくと色んな場面で役に立ちます。

例えば文字列のうち、先頭と末尾以外の部分だけを取り出したい場合は str[1:-1] とすることで実現できます。

str = 'abcdefg'
print(str[1:-1])
>> bcdef

また配列を逆順にしたものを取得したい場合は str[::-1] とすることで実現できます。

str = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
print(str[::-1])
>> ['h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']

インデックス指定について覚えておくと、配列を扱う際に効率よく操作したりできるので便利です。


今後も機会があればPython関連で覚えておくと役に立つようなことを記事にできればと思います。

ちなみに個人的にはなるのですが勉強する際に読んでわかりやすかった本の紹介だけさせていただきます!

こちらの本は1年生と本のタイトルについているだけあってかなり分かり易かったです!

もし良かったら参考にしてください!

商品URL

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ [ 森 巧尚 ]

価格:2,178円
(2021/4/23 22:46時点)
感想(3件)

最後まで読んでくださりありがとうございました!

ブログ日記始めました!

Taka

Takaのほのぼの日記という日記を始めたのでよかったら読んで欲しいです!

なるべく多く更新できるようにブログよりは緩く更新していきます!

それでは次回の記事で!

にほんブログ村 にほんブログ村へ
クリックいただけると嬉しいです!

個人的にオススメ記事になります!!

フラッターブログ
paiza新卒を利用して感じたこと ~ フラッターブログ 昨年自分が利用していた「paiza新卒」というサービスについて、利用してみて感じたことや得た経験について少しまとめてみました。
フラッターブログ
合同ブログ2021 3月 特別号① ~ フラッターブログ フラッター ブログlINE風プロフィールの登場人物!! フラッターブログの管理人お会計時での逃げる速さで彼の右に出るものはいない。辛いものが大好きメンバーからは舌がお...
フラッターブログ
看護師が教える医療関係者のおしごと 〜救急救命士とはどんな仕事なの?〜 ~ フラッターブログ こんにちわ、フラッターブログ住人のkoukiです! 今回も医療関係者のお仕事シリーズの記事になります。 今回のテーマは「救急救命士」です 救急救命士というととどういうも...
あわせて読みたい
429 Too Many Requests

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント

コメントする

CAPTCHA


目次
閉じる