1. ホーム
  2. python

[解決済み] スライス記法によるリストの反転

2023-02-23 05:42:41

質問

を以下の例で説明します。

foo = ['red', 'white', 'blue', 1, 2, 3]

ここで foo[0:6:1] はfooの中のすべての要素を表示します。しかし foo[6:0:-1] は1番目か0番目の要素を省略します。

>>> foo[6:0:-1]
[3, 2, 1, 'blue', 'white']

foo.reverse()やfoo[::-1]を使ってリストを逆に表示できることは理解できましたが、foo[6:0:-1]がリスト全体を表示しないのはなぜでしょうか?

どのように解決するのですか?

簡単に言うとスライス表記です。

[ <first element to include> : <first element to exclude> : <step> ]

リストを反転させるときに最初の要素を含めたい場合は、このように真ん中の要素を空にしておきます。

foo[::-1]

また、一般的なPythonスライスに関する良い情報はこちらで見つけることができます。

Pythonのスライス表記について説明します。