Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python】スライスによる範囲指定などスライスの使用方法

 


Pythonの文字列やリストなどを操作する時にスライスを使用したりすることもあると思います。
スライスにはかなりいろいろな指定方法があると思いますので、ここでその種類と使用方法を説明しておきます。
 

 

 
目次

1.基本的な使用方法

 
 
スライスによる基本的な範囲指定は、[start:stop]のような形式になります。
 
範囲指定のインデックスは0からはじまるインデックスで、stopに指定した要素は含まれません。
 
fruits = ['Orange', 'Grape', 'Apple', 'Banana', 'Lemon', 'Pear','Kiwi']
for c in fruits[3:5]: print(c)
 
上記の例では、指定範囲は0始まりのインデックスの要素3から要素5までですので、
print文で打ち出される結果は、
 
# Banana
# Lemon
# Pear
 
となります。
 
 
 
 

2.開始位置、終了位置を省略した場合

 
start側を省略すると、先頭からとなります。
 
 
fruits = ['Orange', 'Grape', 'Apple', 'Banana', 'Lemon', 'Pear','Kiwi']
for f in fruits[:2]: print(f)
 
上記の結果は以下のようになります。
 
 
# Orange
# Grape
 
同様にstop側を省略すると末尾までとなります。
 
 
fruits = ['Orange', 'Grape', 'Apple', 'Banana', 'Lemon', 'Pear','Kiwi']
for f in fruits[5:]: print(f)
 
上記の結果は以下のようになります。
 
 
# Pear
# Kiwi
 
 

3.増分を指定する場合

 
 
スライスでは、start,stopだけでなく増分を指定することもできます。
指定したい場合は増分をstepとして、[start:stop:step]のように記載します。
 
 
fruits = ['Orange', 'Grape', 'Apple', 'Banana', 'Lemon', 'Pear','Kiwi']
for f in fruits[::2]: print(f)
 
上記のように指定すると、
 
# Orange
# Apple
# Lemon
# Kiwi
 
となります。
 
もう1つ別の例ですが、以下のようにstart位置に1を追加で指定します。
 
fruits = ['Orange', 'Grape', 'Apple', 'Banana', 'Lemon', 'Pear','Kiwi']
for f in fruits[1::2]: print(f)
 
上記のように指定すると、
 
# Grape
# Banana
# Pear
 
となります。
 
この2つの例のように指定することで、リストなどについて奇数番目と偶数番目だけをそれぞれ指定することができます。

 

3.増分stepにマイナスを指定した場合

 
 
増分stepにマイナスを指定すると、後ろから逆順での指定になります。
 
 
fruits = ['Orange', 'Grape', 'Apple', 'Banana', 'Lemon', 'Pear','Kiwi']
for f in fruits[3:1:-1]: print(f)
 
上記のように指定すると、
 
# Banana
# Apple
 
となります。
後ろからの指定のため、startが大きくstopが小さい値でなければなりません。
 
ちなみに、以下のように指定すると、
 
 

fruits = ['Orange', 'Grape', 'Apple', 'Banana', 'Lemon', 'Pear','Kiwi']
for f in fruits[1:3:-1]: print(f)

 

 

結果は、適合する要素がないということで空になります(結果は以下)。

 

 
 
# []
 
 
 
 

4.スライスによる値の代入

 

 
スライスにより、指定範囲に値を代入することもできます。
 
 
fruits = ['Orange', 'Grape', 'Apple', 'Banana', 'Lemon', 'Pear','Kiwi']
fruits[1:3]=['book', 'pen'] print(fruits)
 
上記のように指定すると、結果は
 
#  ['Orange', 'book', 'pen', 'Banana', 'Lemon', 'Pear','Kiwi']
 
のようになります。
インデックス1,2の要素が'book', 'pen'に置き換わります。
 
 
以上が、スライスの基本的な使用方法になります。
 
 

また、PythonSeleniumの活用に必要となりそうな内容についてこれまで記載してきた記事を一覧として以下にまとめましたのでよかったらご参照ください。

 

kuku81kuku81.hatenablog.com

 

 

 

 

 

関連記事:

【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録

 

【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録

 

【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録

 

【Python】range、break、continue、スライスによる範囲指定などfor文の基本的な使用方法 - Django Girls and Boys 備忘録

 

【Python】enumerate()関数、reversed()関数を使用したループ処理や辞書型オブジェクトdictのループ処理などのfor文の使用方法 - Django Girls and Boys 備忘録

 

【Python Selenium】各ブラウザ用のドライバーを自動アップデートする方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Pythonで行うproxy環境設定方法 - Django Girls and Boys 備忘録

 

【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録

 

【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録

 

【Python Excel】ExcelからのPython実行ファイル(アプリケーションファイル)起動方法 - Django Girls and Boys 備忘録

 

【Python】ログイン中のユーザ名を取得する方法 - Django Girls and Boys 備忘録

 

【Python Selenium】f文字列(フォーマット文字列)、r文字列(raw文字列)について - Django Girls and Boys 備忘録

 

【Python】エスケープシーケンス(エスケープ文字)について - Django Girls and Boys 備忘録