2009年6月10日 11:36 PM by Abalone
Pythonでは、複雑なデータ構造を実現するための基本的なデータ構造が最初から用意されている。
リストもその一つであり、これを使うことで、比較的簡単にスタックを実現できたりして便利。Pythonでリストを使うのは非常に簡単である。
Pythonで空のリストを宣言するには以下のようにするだけ。
x = []
これで変数xは、空のリストへのリファレンスを保持するようになる。
ただし、まだ中身は空っぽ。表示してみると、以下のようになる。
bash-3.2$ python
Python 2.5.1 (r251:54863, Feb 6 2009, 19:02:12)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = []
>>> print x
[]
本当にカラのリストとして表示される。これに要素を一つ追加してみる。最初は、数値の0をリストに入れてみる。要素を追加するにはappend()メソッドを利用する。
x.append(0)
実際に試してみると、以下のようにリストに数値0が入っているのが分かる。
例の中では、さらに数値の1を追加しているので、リストに入っている要素が二つになっている。
>>> x.append(0) >>> print x [0] >>> x.append(1) >>> print x [0, 1]
ここで、このリストxに、文字列’str’をappend()してみる。
>>> x.append('str')
>>> print x
[0, 1, 'str']
この通り、さっき数値を入れたリストなのに、文字列を要素としてappend()できてしまうことに注意。
なぜこんなことができてしまうかというと、リストの要素はオブジェクトへのリファレンスだからである。つまり、x には、(1) 数値 0 へのリファレンス (2) 数値 1 へのリファレンス (3) 文字列 ‘str’ へのリファレンス の3つのリファレンスが入っていることになる。こう考えると筋は通っているのだが、プログラマが何をリストに入れたのかの責任を持つ必要がある。そうでないと、リストの中身がぐちゃぐちゃになってしまって収拾がつかなくなる。
トラックバックURL
この記事に対するコメント/トラックバックはまだありません
コメントをどうぞ



