ray88’s diary

お仕事で困ったとき用の自分用の覚書

Python 要素を等間隔で抜き出す

python 目次 - ray88’s diary
■値を等間隔で抜き出す
【書式】

#値を等間隔で抜き出す
文字列【開始位置:終了位置:ステップ】

※1個飛ばしの場合は 文字列[::1] ではなく 文字列[::2] となるので注意すること。
 文字列[1::2]のように指定すると2番目の要素から1個飛ばしのスライスを作る。
■サンプルコード(要素を1個飛ばして取り出す)

#リストを設定
letter = ["a","b","c","d","e","f","g","h","i","j"]
#先頭から1個飛ばし
print("先頭から1個飛ばし")
print(letter[::2])
#2個目から1個飛ばし
print("先2個目から1個飛ばし")
print(letter[1::2])


■先に範囲でスライスする場合と先にステップでスライスする場合の違い

#リストを設定
#リストを設定
letter = ["a","b","c","d","e","f","g","h","i","j"]
#先に範囲でスライスしてから1個飛ばし
print("先に範囲でスライスしてから1個飛ばし")
print(letter[1:5][::2])
#先にステップでスライスする
print("先にステップでスライスする")
print(letter[::2][1:5])
#範囲とステップを同時に指定する
print("範囲とステップを同時に指定する")
print(letter[1:5:2])


■後ろから順に取り出す

#リストを設定
letter = ["a","b","c","d","e","f","g","h","i","j"]
#逆順に取り出す
print("逆順に取り出す")
print(letter[::-1])
#先にステップでスライスする
print("逆順に1個飛ばし")
print(letter[::-2])
#最後から2個目から逆順に1個飛ばし
print("最後から2個目から逆順に1個飛ばし")
print(letter[:-1][::-2])