KNIMEST’s diary

KNIME使いがPythonも使いたくて勉強中

【Python学習帳】012_リストの要素へのアクセス

初学者を対象としている京都大学の無料Python教材の学習中です。
「プログラミング演習 Python 2021」
Version2021_10_08_01.pdf

hdl.handle.net

CC-BY-NC-NDライセンスに従って引用します。

本教材での到達目標:

Python によるプログラムの実行についての基本操作ができるようになる.
Python プログラムを構成する基本的要素の機能と書式について説明し,例題を用いて実行例を構成できるようになる.
Python を用いて簡単なプログラムを自ら設計,実装,テストできるようになる.

第4章の勉強中です。

knimest.hatenablog.com

今回は作ったリストの要素へのアクセス方法を学びます。

リストの要素へのアクセスは [] 内に要素の番号を入れることで行います.

アクセスとはデータを処理するためにリストの要素を指定するという意味でしょうか?

プログラムを説明する各用語は厳密に定義されているようで、自分がどこまでわかって読んでいるのだろうと不安になっています。

リストの長さは len() 関数で得ます.

メソッドではないと再び注意喚起されていました。

 

確かにa.len()ではエラーが出ますね。


len()関数についてのとても詳しい考察をした玄人向けの記事があったので紹介しておきます。

python.ms

なんとPython創始者Guido van Rossumがどうしてlenはメソッドにしなかったかの考え方まで紹介されていました。
敢えて簡潔に表現するなら

メソッドよりも関数が読みやすいから

実は__len__ メソッドがあるそうなので上記の通りaの要素数を出力可能でした。

len 関数は、実際には __len__ メソッドを呼び出しているだけ

とのことです。

おお、確かにメソッドとして使える。

 

すっかり寄り道をしたので本題に戻ります。

 

4.7 負の添え字とスライス

添え字が負の場合は後ろから添え字の絶対値だけ数えた要素を指します.

添え字として「先頭番号:終了番号」を与えると,リストの 1 部を取り出すことが できます.これをリストのスライスと言います.終了番号より手前までが含まれることに留意してください.

両方やってみました。

なるほど。教材に書かれている通り、

短いコードが多く,エディタで編集して実行するよりは Python Shell で入力しながら動作を確認してゆくことで学習を効率的に進めることができます.

手軽にいろいろ設定を変えて試せるのでいいですね。
目的に合わせて実行環境を使い分けるのは効果的だと改めて思いました。

 

次回はリストを対象としたメソッドをいくつか体験します。

knimest.hatenablog.com