Python 实现一个类数组,并重新发明像append这样的常用列表方法

Python 实现一个类数组,并重新发明像append这样的常用列表方法,python,arrays,python-3.x,Python,Arrays,Python 3.x,所以我试图重新发明轮子,以便更好地理解列表,但是我很难思考如何创建一个append方法 类数组: 定义初始化(自): self.array=[] def显示(自): 打印(self.array) def len(自我): array=self.array 计数=0 对于数组中的uu: 计数+=1 返回计数 def append(自身,值): array=self.array 长度=self.len() 数组[长度]=值 self.array=array 阵列具有固定大小。所以,当您将一个项附加到

所以我试图重新发明轮子,以便更好地理解列表,但是我很难思考如何创建一个append方法

类数组:
定义初始化(自):
self.array=[]
def显示(自):
打印(self.array)
def len(自我):
array=self.array
计数=0
对于数组中的uu:
计数+=1
返回计数
def append(自身,值):
array=self.array
长度=self.len()
数组[长度]=值
self.array=array

阵列具有固定大小。所以,当您将一个项附加到数组中时,您需要检查数组是否可以容纳新元素。如果没有,您可能需要通过重新分配更大的阵列并将现有项复制到新阵列中来增加其容量。 要重新分配较大的阵列,可以使用

a = [None] * desired_size
在此之后,
1.)将元素从原始阵列复制到此新装箱的阵列
2.)将新元素放入数组中。您可以保留索引标志以跟踪数组中的最后一个元素


请确保修改len()函数以根据索引标志返回长度,而不是数组中的元素数

self.array.append(value)
…如何实际使用此类?构造函数不接受任何参数,因此如何使用某些元素初始化数组?一旦您决定了这一点,我认为您就可以更容易地了解如何实现append。