まずはlist(arrayでも大丈夫です!)を用意します。
# my_list = [0,1,2,3,4,5,6,7,8,9]と同じ
# リスト内包表記の場合
my_list = [i for i in range(10)]
print(my_list)
# [0,1,2,3,4,5,6,7,8,9]
@shiracamus さんにおしえていただいたほうがきれいに書けるので、追加します!!
my_list = list(range(10))
print(my_list)
# [0,1,2,3,4,5,6,7,8,9]
リスト内包表記で作ったリストを使ってご説明します!
リスト内包表記については、この記事をご参照ください(^^)
me: ゼロから始めるデータサイエンス 1章で使うリスト内包表記のエラーについて
1つ目の引数を指定する
my_list[1:]
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
my_list[0:]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
第一引数では、リスト内の何番目の数から返すか指定できるのですね!
今回のリストは0から始まり9番目で終わる10個の数字なので、その点にご注意ください!
引数にマイナスを取った場合
後ろから-n個の数字をとってくることが出来ます!
my_list[-1:]
# [9]
my_list[-2:]
# [8, 9]
2つ目の引数を指定する
my_list[1:10]
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
my_list[1:4]
# [1,2,3]
第二引数はリスト内の何番目まで取り出すか指定できそうです!
ちなみに引数を指定しないと、こうなります
# すべての引数を指定しない場合
my_list[:]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 第一引数のみ指定しない場合
my_list[:5]
# [0, 1, 2, 3, 4]
引数にマイナスを取った場合
my_list[:-8]
# [0, 1]
# my_list[:2]のときと同じ出力結果になります!
# [0, 1]
3つ目の引数を指定する
# 第3引数に2を指定した場合
my_list[1:10:2]
# [1, 3, 5, 7, 9]
# リスト内から2つ飛ばしで表示されます!
# 第3引数に3を指定した場合
my_list[1:10:3]
# [1, 4, 7]
# リスト内から3つ飛ばしで表示されます!
引数を指定しないバージョンと、引数にマイナスを取った場合はこんな感じです。
# 3つの引数を指定しない場合
my_list[::]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 引数にマイナスを指定した場合
my_list[::-1]
# [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
# 3つめの引数のみ指定した場合
my_list[::2]
# [0, 2, 4, 6, 8]
参考:@ycctw1443 さん【Pythonのスライスについて】