Pythonプログラミング初心者に向けて、リストのスライスについて解説します。
前回、リストのインデックスについての勉強をしました!
今回はリストについてどんな勉強をしていくんですか?
今回はリストのスライスについて学んでいきます!
これから先、リストを使ったプログラムはたくさん出てくるけど、インデックス指定と合わせて自由に扱えるようになってほしいです!
Pythonでは、リストを効果的に操作するための様々な機能が提供されています。
その中でも、リストのスライスは非常に便利な機能の一つです。
スライスを使用すると、リストから一部の要素を取り出したり、範囲を指定して要素を取得したりできます。
スライスの基本構文
リストのスライスを行うためには、リストの名前に続けて角括弧を使い、開始インデックスと終了インデックスを指定します。
具体的な構文は以下の通りです。
list[start:end]
ここで、start
はスライスの開始位置を示し、end
はスライスの終了位置を示します。
開始位置と終了位置で用いるインデックスは前回取り扱ったインデックス番号の考え方を用います。
リストのインデックスについて理解したい方は以下のリンクを参照ください。
スライスの使用例
では以下の例を通じて、スライスの使用方法を具体的に見ていきましょう!
fruits = ['pineapple', 'orange', 'apple', 'banana', 'cherry']
# スライスの例 リスト[開始位置:終了位置]
print(fruits[1:4])
# 実行結果
# ['orange', 'apple', 'banana']
このプログラムでは変数名fruitsのリストを作成しています。
続いてfruits[1:4]の部分でスライスを用いて開始位置1から終了位置4までの要素を取り出しています。
注意点として、終了位置の1つ手前の要素まで取り出されます。
したがって、終了位置4の1つ手前の要素('banana')までの要素が取り出されます。
fruitsのリストから一部の要素を取り出すことができました!
これはいろんな場面で使えそうですね。
リストのスライスは本当によく使いますよ!
続いて、もっと自由にスライスを使えるようにしていきましょう。
開始位置の省略
リストのスライスで開始位置を省略すると、初めの0番目の要素から終了位置までの要素を取り出します。
以下のプログラムを実行してみましょう!
fruits = ['pineapple', 'orange', 'apple', 'banana', 'cherry']
# 開始位置を省略すると、リストの最初からスライスします
print(fruits[:3])
# 実行結果
# ['pineapple', 'orange', 'apple']
実行結果を確認いただくと、初めの要素(0番目の要素)から終了位置までの要素が取り出されています。
また、開始位置を省略しない場合と同様に、3番目の要素の1つ手前の要素(インデックス番号2の'apple')までが取り出されている点には注意してください。
続いて、終了位置を省略した書き方も可能なので紹介していきます!
終了位置の省略
リストのスライスで終了位置を省略すると、指定した開始位置から最後の要素までの要素を取り出します。
以下のプログラムを実行してみましょう!
fruits = ['pineapple', 'orange', 'apple', 'banana', 'cherry']
# 終了位置を省略すると、リストの最後までスライスします
print(fruits[2:])
# 実行結果
# ['apple', 'banana', 'cherry']
実行結果を確認いただくと、指定した要素(2番目の要素)から最後の要素まで取り出されています。
続いて、終了位置を省略した書き方も可能なので紹介していきます!
リストのスライスにも慣れてきました!
いろいろなスライスのやり方があるんですね。
うまくプログラムの実行ができているようで良かったです!
例のプログラムでインデックス番号を変えてみて実行結果を確認していくと理解が深まっていくと思います!
最後に確認問題を解いて理解を深めていきましょう!
確認問題
①整数10,20,30,15,25,35を格納したリストnumsを作成してください。
②リストのスライスを用いて、numsから20,30,15を取り出して出力してください。
③リストのスライスを用いて、numsから30,15を取り出して出力してください。
④リストのスライスを用いて、numsから10,20,30を取り出して出力してください。
⑤リストのスライスを用いて、numsから30,15,25,35を取り出して出力してください。
確認問題 解答
# ①整数10,20,30,15,25,35を格納したリストnumsを作成
nums = [10, 20, 30, 15, 25, 35]
# ②numsから20,30,15を取り出して出力
print(nums[1:4])
# ③numsから30,15を取り出して出力
print(nums[2:4])
# ④numsから10,20,30を取り出して出力
print(nums[:3]) #print(nums[0:3])も可
# ⑤numsから30,15,25,35を取り出して出力
print(nums[2:]) #print(nums[2:6])も可
# 実行結果
# [20, 30, 15]
# [30, 15]
# [10, 20, 30]
# [30, 15, 25, 35]
# [30, 15, 25, 35]
問題④⑤は開始位置、終了位置を省略して解答しましたがコメントにあるように開始位置、終了位置を指定しても同様に出力できます。
開始位置、終了位置を省略した形も省略しない形も両方扱えるようにしていただければと思います。
まとめ
今回はリストのスライスについて学びました。
前回のインデックス指定と合わせて、より自由に要素を取り出せるようになったかと思います。
次回も引き続きリストのスライスについて詳しく分かりやすく説明していきます。
お楽しみに!
このサイトの記事一覧へは以下へアクセス!
コメント