Menggunakan Method __setitem__ dan __getitem__ untuk Mengimplementasikan Dynamic List di Python

Misalkan kita memiliki list seperti berikut:

numbers = [1,2,3,4,5]

kita hanya akan bisa mengakses anggota numbers dari numbers[0] sampai numbers[4]. Ketika mencoba untuk mengakses anggota list di luar jangkauan, kita akan mendapat error IndexError:

numbers[9] = 10
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-5-2e808a652e84> in <module>()
----> 1 numbers[9] = 10

IndexError: list assignment index out of range

Kita harus secara eksplisit memberi nilai elemen-elemen posisi sebelumnya sampai posisi ke-9, agar kemudian posisi ke-9 tersebut bisa ditempati, misalnya dengan menggunakan fungsi append():

>>> while(len(numbers) < 10): numbers.append(None)
>>> numbers
[1, 2, 3, 4, 5, None, None, None, None, None]
>>> numbers[9] = 10
>>> numbers
[1, 2, 3, 4, 5, None, None, None, None, 10]

Di python, kita bisa mendefinisikan metode object yang akan membuat object tersebut berlaku seperti list atau iterator, diantaranya __getitem__, __setitem__. Lanjutkan membaca Menggunakan Method __setitem__ dan __getitem__ untuk Mengimplementasikan Dynamic List di Python