
2.1
Python
のデータ型について
37
2.1.2
単なるリストではない
Python
のリスト
多くの
Python
オブジェクトを保持する
Python
データを使用するとどうなるか考えてみましょ
う。リストは
Python
の標準的なコンテナで、可変個の要素を格納できます。例えば、整数のリス
トは次のように作成できます。
In[1]: L = list(range(10))
L
Out[1]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In[2]: type(L[0])
Out[2]: int
文字列のリストも同様です。
In[3]: L2 = [str(c) for c in L]
L2
Out[3]: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
In[4]: type(L2[0])
Out[4]: str
Python
の
動的型付けにより、異なる型の要素を持つリストも作成できます。
In[5]: L3 = [True, "2", 3.0, 4]
[type(item) for item in L3]
Out[5]: [bool, str, float, int]
しかし、この柔軟性にはコストがかかります。こうした柔軟な型を可能にするためには、リスト
内の各項目は独自の型情報、参照数、その他の情報を含んでいる必要があります。つまり、各項
目は完全な
Python
オブジェクトである必要があります。すべての変数が同じ型であるケースでは、
こうした情報の多くは冗長です。データを固定型配列に格納する方がずっと効率的です。動的型の ...