問題
次のコードを実行した時の出力として正しいものは A 〜 D のどれでしょうか?

解答
正解は。。。
正解は B の
[3, 2, 1, 5, 4]
です。
解説
今回はリストのスライス操作に関する問題です。
リストについては下記記事も参考になると思います。
スライス操作はリストの一部を切り出したい時に使います。
start、stop、stepの3つを指定して切り出すことができます。
問題にあるdata[-3::-1]
は、start が -3
、stop は指定なし、step が -1
、になります。
後ろから3番目の要素から始まり、step が -1 なので、1つずつ前に遡ります。
data = [1, 2, 3, 4, 5]
なので、data[-3]
は3
で、data[-3::-1]
は[3, 2, 1]
となります。
次にdata[:2:-1]
は、start が指定なし、stop が2
、step が-1
、です。
start の指定が無い場合は step によって start が変わります。
step が正の整数なら0
、負の整数なら-1
になります。
また、stop が 2
ですが、stop に指定された要素は含まれず、その手前までが切り出されます。
そのためdata[:2:-1]
は[5, 4]
となります。
したがって、[3, 2, 1] + [5, 4]
となり、出力は[3, 2, 1, 5, 4]
となります。
Google Colaboratory
下記リンクからアクセスして、Google Colaboratory 上で実際にコードを実行して、結果を確認していただけます。
おわりに
X で Python クイズを配信しています。
#Pythonクイズ
— Taklog (@taklog_info) September 29, 2023
No.12
次のコードを実行した時の出力として正しいものは A 〜 D のどれでしょうか? #Python #pythonprogramming pic.twitter.com/jOX7RxY8to
よかったらフォローしてください!
以上です。
コメント