python - 实现类数组,并重新发明常见的列表方法,如 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
解决方案
数组具有固定大小。因此,当您将项目附加到数组时,您需要检查数组是否可以容纳新元素。如果没有,您可能需要通过重新分配更大的数组并将现有项目复制到新数组中来增加其容量。要重新分配更大的数组,您可以使用
a = [None] * desired_size
在此之后,
1.)将元素从原始数组复制到这个新创建的数组
2.)将新元素放入数组中。您可以保留索引标志以跟踪数组中的最后一个元素。
确保修改 len() 函数以根据索引标志而不是数组中的元素数返回长度
推荐阅读
- python - 当相同参数具有不同精度(由于非确定性行为)时的超参数调整方法 - LSTM 训练 Tensorflow
- node.js - Google Auth - 总是提示授权,我应该如何处理刷新令牌?
- mysql - 使用 OR 子句查询需要很长时间,但它们的部分非常快
- java - 无法编译安卓应用
- swift - Swift Firebase 防止用户多次投票并显示平均评分
- javascript - 当用户滚动到部分时,修复了页面顶部部分的标题 div
- python - 如何在这组代码中包含def函数(分析单词出现频率)
- c# - 如何使用 Environment.SpecialFolder 在我的 Xamarin/VisualStudio 项目中指定特定文件?
- sharepoint-online - 用于 SP Online 的 SharePoint Designer 2013 工作流查找
- c++ - 减少复制构造函数调用