とらりもんHOME  Index  Search  Changes  Login

とらりもん - python入門: リストとタプル Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

pythonでは, 複数の情報をまとめて扱う機能がある。その代表的なのが{{fontc(リスト, red)}}である。

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が出たではないか!! そう, {{fontc(リストの添字に-1を入れると「最後の要素」という意味になるのだ, red)}}。では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の略である!