在使用列表時,索引值必須是按照順序的整數:
>>> arr = [2, 3, 5]
>>> arr[2] = 7
>>> arr[3] = 9
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
Cell In[1], line 3
1 arr = [2, 3, 5]
2 arr[2] = 7
----> 3 arr[3] = 9
IndexError: list assignment index out of range
如果超出範圍,會發生 IndexError
。此外,索引值也不能是整數以外的型態:
>>> arr["hello"]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[2], line 1
----> 1 arr["hello"]
TypeError: list indices must be integers or slices, not str
如果在索引值方面需要更有彈性的話,可以改用字典 (dict) 來存放資料:
>>> data = {
>>> "Penut": 9487,
>>> 3.14: 5.67,
>>> }
dict
使用大括號 {}
將資料包起來,每一筆資料用 key: value
的形式來表達,冒號前面為索引值,冒號後面為資料內容。因此這個 data
就能以任意型態的索引值來存取:
>>> print(data["Penut"])
>>> print(data[3.14])
>>> data["Chen"] = 1234
>>> print(data)
9487
5.67
{'Penut': 9487, 3.14: 5.67, 'Chen': 1234}
用字典來存放資料,提供開發者更多彈性的選擇。