リスト(配列)
変数というものがある。変数とは、箱のようなものと表現した。 しかしこの変数についても限界がある。
例えば、似たような箱を10個作りたいとき、変数aから変数jまで作るとなると骨が折れそうだ。
そんな時こそ、今回話す「リスト(配列)」の出番。リストと素直に呼んでもいいし、他の言語では配列とも呼ばれている。
例えば、こうやって使う。
code:リストの例
print(a)
code:実行結果
リストとはこのように、同じ名前の中に複数の数値や文字などを入れることができる。
では、次のことをやってみよう。
code:リストの例2
print(a)
code:実行結果
このように、リスト内には番号が0から割り振られている。
今回のリストaで言うと、a[0]a[1]a[2]a[3]という名前が個別に付けられている。
なので、リスト全体をprintすることも出来るし、個別の値だけを出力することもできる。
code:リストの例3
print(a)
code:実行結果
40
このように、指定すればその値のみを出力する。
この配列は、for文やif文などに応用することで真価を発揮する。
例えばこちらを実行してみてほしい。
code:リストの例4
for i in range(4):
code:実行結果
10
20
30
40
for文にカウンタ技法を使って、変数iを0から3になるまでループさせた。 この時の変数iの値を、printしたいリストの番号に使うことができる。
こうすることで
1回目の繰り返しには変数iの値が0となり、a[0]の値が出力され、
2回目の繰り返しには変数iの値が1となり、a[1]の値が出力され、
3回目の繰り返しには変数iの値が2となり、a[2]の値が出力され、
4回目の繰り返しには変数iの値が3となり、a[3]の値が出力される。
カウンタ技法に使っていた変数を再利用することで、効率よくプログラムを書くことができる。 ちなみにこのプログラムはもっとスマートにすることができて、
len関数を使ってリスト内のデータの個数を割り出して、rangeの中に入れてやることで、4すら手打ちすることを省くことができる。 code:リストの例5
for i in range(len(a)):
これはちょっとした応用編だが、知っていると便利だ。
★おまけ
code:リスト例5改
j = 10
a = []
for i in range(4):
a.append(j)
j+=10
for i in range(len(a)):
うーむ、リストaに10から40までの数値を追加する部分を自動化したら、かえって行数が増えてしまった。
リストの後ろに要素を追加するときは、リスト名.append(追加したい内容)を使う。
code:リスト例
a.append(6)
print(a)
code:実行結果
そして、リストの中から特定の要素を削除したいときは、リスト名.remove(リストから削除したい内容)を使う。
code:リスト例
a.remove(3)
print(a)
code:実行結果
これは地味に便利だぞ。