早速ですが、次のコードの結果を考えてみましょう。
s = 'Python' s[::-1][::-3]
結果は ‘Ph’ となります。
リストや文字列から特定の要素を取り出す場合は[]を使ってインデックスを指定します。
通常は1次元のリストの場合は[]を一つだけ使用して特定の要素を指定したり、スライスをしたりします。
けれども、[]は一つだけだと決まっていません。
上の問題のように複数並べて置くことができます。
この例では次のことが行われています。
- 最初の[::-1]でsの並びを逆順に並べ替えます
- 次の[::-3]で逆順になったリストの最初から最後までの要素を3ステップで逆から取得します
- 結果’Ph’となります
多次元リストの要素の取り出し方
多次元リストの要素の取り出し方も同じ発想です。
l = [['A', 'B'], ['C', 'D'], ['E', 'F']] l[1][0]
結果は ‘C’ が取り出されます。
この場合は、まず l[1] で [‘C’, ‘D’] が取り出され、次に [0] で [‘C’, ‘D’] の ‘C’ が取り出される訳です。
仕組みがわかると多次元リストも怖くないですね。