next up previous
Next: for ループ Up: プログラミング入門 Previous: リスト

   
リストとループ

プログラムにおいては,リストはループと組み合わせることにより役に立ちます. いくつかの数の平均を求めるプログラムを考えてみましょう.
# 平均を求める. その 1.
list = [1, 2, 5, 7]
sum = 0
i = 0
while i < 4:
    sum = sum + list[i]
    i = i + 1
print sum / 4.0
上の例は, list[0] から list[3] の全ての和を求め(ループが終了すると sum の値はその和になっている), 項目数で割った値, すなわち平均を プリントしている. ここで, 最後で 4.0 で割っているのは, sum の 値が整数値 15 となるので, もしも, 4 で割ると 15/4 で 整数値 3 が プリントされてしまうためである(整数値同士の割算は整数値になる).

あるいは, sum を浮動小数点型にしてもよい:

# 平均を求める. その 2.
list = [1, 2, 5, 7]
sum = 0.0
i = 0
while i < 4:
    sum = sum + list[i]
    i = i + 1
print sum
print sum / 4
(実行結果)
15.0
3.75
上の例では, 平均の前に和 sum もプリントしているが, 変数 sum に 浮動小数点数 0.0 が代入されているので, 以降この変数は浮動小数点型 となり, 和は 15.0 となる. この値を整数 4 で割った値も浮動小数点型になる.

上の例は, 関数 len を用いると更に汎用性を増す. len はリストの長さを返す 関数である:

>>> list = [1, 2, 5, 7]
>>> len(list)
4

関数 len を用いた例を以下に挙げる:

# 平均を求める. その 3.
list = [1, 2, 5, 7]
sum = 0.0
i = 0
while i < len(list):
    sum = sum + list[i]
    i = i + 1
print sum / len(list)
この例は, list の項目数を増やす場合でも, list に代入する行のみを 変更すれば良いことに注意しよう. 例 その 1 やその 2 では, プログラム内の 数字 4 (あるいは 4.0) を項目数に合わせて変更しなくてはならない.



Toru Sasaki
2000-08-30