首页 > 解决方案 > 实现类数组,并重新发明常见的列表方法,如 append

问题描述

所以我试图重新发明轮子,以更好地理解列表,但我很难思考如何创建附加方法。

class Array:

    def __init__(self):
        self.array = []

    def display(self):
        print(self.array)

    def len(self):
        array = self.array
        count = 0
        for _ in array:
            count += 1
        return count

    def append(self, value):
        array = self.array
        length = self.len()
        array[length] = value
        self.array = array

标签: pythonarrayspython-3.x

解决方案


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

a = [None] * desired_size

在此之后,
1.)将元素从原始数组复制到这个新创建的数组
2.)将新元素放入数组中。您可以保留索引标志以跟踪数组中的最后一个元素。

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


推荐阅读