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