営業時間:平日9:00~17:00

プログラミング

Python基礎編:スライス

saori
Python基礎編:スライス

今回は、Pythonにおけるリストやタプル、文字列で使える「スライス」と呼ばれるやり方を紹介したいと思います。

スライスとは

スライスとは、シーケンス型オブジェクトの中から、インデックスで指定した範囲を、新しいリストの形で返してくれる仕組みのことです。

シーケンス型オブジェクトとは、複数の値を順番に並べたものをひとまとめにしたもののことです。基本的なシーケンス型には、

  • リスト
  • タプル
  • range
  • 文字列

があります。復習として、それぞれの型を見ていきましょう。

リスト list = ['りんご','いちご','ばなな','ぶどう']

タプル tuple = ('北海道','青森','秋田','山形','岩手')

range range(10)

文字列 ('Hello Python')

リストやタプルは分かりやすいと思いますが、rangeや文字列はちょっと分かりにくいですよね。range(10)というのは(0,1,2,3,4,5,6,7,8,9)のことなので、数字を順番通りにひとまとめにしていると思えば理解できると思います。同じように文字列は、(H,e,l,l,o,P,y,t,h,o,n)と11個の文字のをひとまとめにしていると考えればよいのです。

このようなシーケンスの型から、どこからどこまでを取り出すという指定をしてあげて、指定したところをリストとして返してくれることをスライスというのです。なんとなくイメージがついたでしょうか。では、さっそく実践してみましょう。

スライスで指定した範囲の要素を取り出す

スライスで要素を取り出す方法には基本的なものとして

  • 開始位置と終了位置を指定する
  • 開始位置のみを指定する
  • 終了位置のみを指定する
  • 負の数を指定する
  • ステップを指定する

の4つがあります。スライスの基本的な出力の仕方は

print(シーケンス名[開始位置:終了位置]

となっています。リストやタプルで紹介したように、リストなどの初めの要素はインデックス番号は「0」となっているので、その番号に合わせることに注意してください。

開始位置と終了位置を指定する

岩手から秋田までを出力したい場合には、岩手のインデックス番号である「2」を初めに指定します。そしてコロンのあとに、終了位置を指定しますが、この時に気を付けてほしいのが、指定したい最後のインデックス番号ではダメということです。終了位置は、指定する最後のインデックス番号「+1」のインデックス番号を書くように気を付けましょう。

なので、今回は秋田までを取り出したいので、秋田のインデックス番号4に「+1」をして終了位置は「5」とします。すると、出力結果には[‘岩手’, ‘宮城’, ‘秋田’]と表示されました。

開始位置のみを指定する

指定したところから最後の要素までを取り出したいときには、上記の終了位置を指定してコードを書くこともできますが、要素数が多くなってくると、最後の要素まで数えたり、最後は何番だっけと思い出さないといけないこともでてくると思います。

その時には、終了位置を省略することができます。コードは、

print(シーケンス名[開始位置:]

と、コロンの後ろを省略することができます。

終了位置のみを指定する

先ほどとは逆で、初めから、途中の要素までを取り出したいときもあるはずです。その時には次のように、開始位置を省略して書くことができます。

print(シーケンス名[:終了位置]

負の数を指定する

今までは、正の数で開始位置や終了位置を指定してきましたが、負の数「-1」などを指定することもできます。負の数を指定すると、末尾から数えて取り出すことができます。コードの書き方は正の数のときと同じです。

ステップを指定する

スライスには「ステップ」と呼ばれる便利な機能もあります。今までのコードの後ろにコロンを付け加えて、そのあとに数字を入れると、その数だけとばして取り出すことができるのです。コードは以下の通りです。

  • 基本的な書き方…print(シーケンス名[開始位置:終了位置:ステップ数]
  • 開始位置、終了位置を省略…print(シーケンス名[::ステップ数]
  • 開始位置を省略…print(シーケンス名[:終了位置:ステップ数]
  • 終了位置を省略…print(シーケンス名[開始位置::ステップ数]

いかがですか、このスライスという便利な機能を知っていれば、どこかで役に立つはずです。いろいろなスライスのやり方を覚えておきましょう。

あなたにオススメの記事

6月13日は日本でフィッシング詐欺が初摘発された日

6月13日は日本でフィッシング詐欺が初摘発された日

地元民に愛される熊野神社例大祭

地元民に愛される熊野神社例大祭

一眼カメラ「EOS Kiss X10」のレンタルが始まったよ!

一眼カメラ「EOS Kiss X10」のレンタルが始まったよ!

芸術家と接するとき芸術家ではない者はどうすればいいのか

芸術家と接するとき芸術家ではない者はどうすればいいのか

State of the 17th Hibiya Park Marunouchi Ondo Obon Dance 2019

第17回日比谷公園丸の内音頭大盆踊り2019の様子

阿佐ヶ谷七夕祭り はりぼて編

阿佐ヶ谷七夕祭り【はりぼて編】

「小さな自然の写し方」という本を読んで撮影した写真を紹介します

「小さな自然の写し方」という本を読んで撮影した写真を紹介します

Python基礎編:関数の書き方

Python基礎編:関数の書き方

家庭菜園ならぬ事務所栽培を紹介します【茄子編】

家庭菜園ならぬ事務所栽培を紹介します【ナス編】

Python基礎編:エスケープシーケンス

Python基礎編:エスケープシーケンス

Python入門:数値の計算をしてみよう(Windows10版)

5月4日はコンピュータウイルス「ラブレター」が発見された日

「スラスラ読めるpythonふりがなプログラミング」を読んでみた

「スラスラ読めるPythonふりがなプログラミング」を読んでみた

EOS Kiss X10を使ってカメラ初心者が撮影してみた【食べ物編】

EOS Kiss X10を使ってカメラ初心者が撮影してみた【食べ物編】

阿佐ヶ谷七夕祭り 出店・イベント編

阿佐ヶ谷七夕祭り【出店・イベント編】

SPONSOR

  • 最近チェックしたアイテム