**list
- 多くの言語では, 「配列」というものがある。つまり, 複数個のデータを格納しているデータである。
- 数学の中では, n次元ベクトルのようなものと言ってもいいし, 座標がn個並んでいるだけと思えば,「リスト」というPythonでの表現は, なんとなく納得できたりする。
- そのような意味では, 2次元ベクトルを扱ってみるのも一つの入り口ではあるが, ここでは整数問題を扱っているので, たとえば, nの約数の集合のようなものとして, list について触れてみたい。
- 次のプログラムを手がかりに, どんなことか行われているかを推測してほしい。
x = [1,2,3,4,5]
print(x)
x.append(6)
print(x)
x.remove(4)
print(x)
print(len(x))
x.pop()
print(x)
print(len(x))
y = [1,10,11]
x.extend(y)
print(x)
print(len(x))
x.sort()
print(x)
print(len(x))
**for in 「リスト」の利用
- for文の基本では, rangeを使ったが, リストを使うことができる。
x = [1,3,5,7,9]
sum=0
for n in x:
sum=sum+n
print(sum)
**練習問題
- 整数nに対して, nの約数をすべて表示する
- 整数nに対して, nの約数をリスト化する
- 整数nに対して, nの約数のリストを返す関数 listOfDivisors(n)
- 整数nに対して, nの約数の個数を返す numOfDivisors(n)
- list l に対して, その要素の和を返す関数 sumOflist(l)
- 整数nに対して, 「完全数」かどうかを返す isPerfect2(n)
** 類似概念
- リスト(list)に関連する類似概念として, タプル(tuple), 辞書, 集合(set)があります。
- 他の言語での配列(arrray)は, Pythonでのlistに相当すると思ってよいでしょう。
- phpなどでの連想配列は, Pythonでの辞書に相当すると思ってよいでしょう。
- 「集合」は, いわゆる数学の集合としての演算(和,積, 差など)を実装しています。