リスト

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

Pythonのデータ型であるリストは、ほかのプログラミング言語でいうところの、配列に似た役割です。

スポンサーリンク

一次元だけでなく、多次元の並びにすることもでき、リストの中に、一つの要素として別のリストを含むこともできます。
リストの値にインデックスを指定してアクセスしたり、要素を付け足したり、削除したりなど、配列と同じような働きを持ちます。

リストの定義

リストは、[ ](ブラケット)で囲んで、カンマで区切って定義します。
インデックスを指定しなかった場合は、インデックス指定に先頭の要素を「0」とする、ただの配列っぽい動作となります。

>>> list = [1, 2, 3, 4, 5, 6, 7]
>>> print list
[1, 2, 3, 4, 5, 6, 7]
>>> list[4]
5
>>> list[-2]
6
>>> list[3:5]
[4, 5]
>>> list[2] = 'change'
>>> list
[1, 2, 'change', 4, 5, 6, 7]

上記のような動作をすることから、ほかの言語で配列の操作に慣れた人であれば、直感的に分かりやすいですね。
リストの値の変更も、もちろん可能です。
「list[2] = ‘change’」で、リストの2番目の値が変更されています。

多次元のリスト

リストを用いて、多次元配列のようなデータ構造も作れます。

>>> list = [[1, 2], [3, 4, 5, 6], [7, 8, 9]]
>>> list
[[1, 2], [3, 4, 5, 6], [7, 8, 9]]
>>> list[2][2]
9
>>> list[0][1] = 'change'
>>> list
[[1, 'change'], [3, 4, 5, 6], [7, 8, 9]]

多次元のリストへのアクセスは、インデックスを複数指定して行えますので、これも他言語の多次元配列のアクセスと同じですので分かりやすいです。

また、リストの中には、同じ値を重複して持っていても、問題ありません。
値の型も、バラバラに混在していても、問題ありません。

>>> list = [1, 1, 1, 'change', 'change', 2.3456, [3, 'test', 8, 5.55]]
>>> list
[1, 1, 1, 'change', 'change', 2.3456000000000001, [3, 'test', 8, 5.5499999999999998]]
>>> list[6][3]
5.5499999999999998

リスト要素の追加

リストの要素の数を増やして、新しい要素を追加する場合には、append()というメソッドを用います。

>>> a = [1, 2, 3, 4]
>>> a.append(5)
>>> a
[1, 2, 3, 4, 5]
>>> a.append('dog')
>>> a
[1, 2, 3, 4, 5, 'dog']
>>> a.append([6, 7, 8])
>>> a
[1, 2, 3, 4, 5, 'dog', [6, 7, 8]]
>>> a.append(5, 6, '犬とネコ', ['リストの中のリスト', 7, 8])
 
Traceback (most recent call last):
  File "", line 1, in 
    a.append(5, 6, '犬とネコ', ['リストの中のリスト', 7, 8])
TypeError: append() takes exactly one argument (4 given)

append()メソッドを用いると、どんなデータ型の要素でもリストに追加できます。
ただし、一度に追加できる要素は1つの要素だけであり、最後の行「a.append(5, 6, ‘犬とネコ’, [‘リストの中のリスト’, 7, 8])」のように、いっぺんに複数の要素を追加しようとすると、エラー警告文が発生します。

リスト要素の削除

リストの要素を削除するには、「del」という命令を使います。

>>> list = [1, 2, 3, 4, 5, 6, 7]
>>> list
[1, 2, 3, 4, 5, 6, 7]
>>> del list[3]
>>> list
[1, 2, 3, 5, 6, 7]

削除した要素以降の要素のインデックスが、一つ前に繰り上がったことになります。

スポンサーリンク
 
スポンサーリンク