python入門: 5. リスト
pythonでは, 複数の情報をまとめて扱う機能がある。その代表的なのがリストである。
以下を打ってみよう:
x=[6, 7, 8, 9] x type(x)
最初の命令は, [6, 7, 8, 9]というもの(6, 7, 8, 9という4つの数を並べたもの)を作り, それをxという名前で呼ぶことにする, という命令である(つまりxの定義)。
次の命令xは, xの内容を確認しているだけ。実際, その結果として, [6, 7, 8, 9]というのが表示されただろう。
その次の命令は, xの型を調べている。そこでは, listと出ただろう。そう, xの型は, これまで出てきたintでもfloatでもstrでもない, listという新たな型である。
では, 次を打ってみよう:
x[0] x[1] x[2] x[3]
これは, xの要素(リストを構成する個々のデータ)を個別に表示する命令である。x[0]は最初のデータである6, x[1]は2番めのデータである7を示す。つまり, リストの要素の番号(数列の添字みたいなもの)は0から始まるのだ(1からではない)!! 従って, この例のように, リストの要素が4個の場合は, 最後の要素はx[3]となる。
では, 次を打ってみよう:
x[4]
エラーが出ただろう。x[4]は存在しないからである。では次を打ってみよう:
x[-1]
なんと, 9が出たではないか!! そう, リストの添字に-1を入れると「最後の要素」という意味になるのだ。ではx[-2]はどうだろう? 試してみよう!!
次に, 以下のようにyというリストを作ってみよう:
y=[2, 3.0, "apple"]
これは, 2という数, 3.0という数, appleという文字列を並べてできたリストである。このように, リストの要素は何だってかまわない。では, 次を打ってみよう:
type(y) type(y[0]) type(y[1]) type(y[2])
諸君なら, それぞれの結果をうまく解釈できるだろう。y自体の型はリストだが, y[0]は2という整数なので, その型はintである。y[1]は3.0という実数なので, その型はfloatである, といった具合だ。このように, リストの要素の値は, それぞれ型を持っている。
リストの要素はどういう型のものでもかまわない。ということは, リストをリストの要素にすることもできる。試しに, 以下のようにリストzを定義してみよう:
z=[5, [6, 7], [8, [9, 'apple']]]
これは, リストの中にリストが入っていて, さらにその中にリストが入っているという, ちょっと複雑な構造のリストである。実際, 以下のように打って確認してみよう:
z[0] z[1] z[2]
それぞれ, 5, [6, 7], [8, [9, 'apple']]と出ただろう。では, z[1]の中の7を表示させるにはどうすればいいだろうか? こうすればよいのだ:
z[1][1]
[レポート課題5-1] 上の例で, z[2][1][1]は何を意味するか?
[レポート課題5-2] 以下の命令を打ってみよ。その結果から, len()というのは何をする命令か, 推測せよ。
len(x) len(y) len(z) len(z[1])
ヒント: わからなかったら, 「python len」で検索! ちなみに, lenはたぶんlengthの略である!
Keyword(s):
References:[python入門]