# -*- coding: utf-8 -*-__author__ = 'xiao-xiaoming'class Array:"""一个包装list的简单数组,支持插入、删除、按照下标随机访问操作数组中的数据是任意类型的"""def __init__(self, capacity: int = 10):"""初始化方法,capacity表示数组容量"""self._data = []self._capacity = capacitydef __len__(self) -> int:return len(self._data)def __iter__(self):for item in self._data:yield itemdef __repr__(self):return str(self._data)def find(self, index: int) -> object:'''根据索引,找到数据中的元素并返回参数:index:将要查找的数据的下标返回:如果查找成功,则返回找到的数据如果角标越界,则返回False'''if (index < 0 or index >= len(self)):return -1return self._data[index]def delete(self, index: int) -> bool:'''根据索引,删除数组中元素.参数:index:将要删除的数据的下标返回:如果删除成功,则返回True如果删除失败,则返回False'''if (index < 0 or index >= len(self)):return Falseself._data.pop(index)return Truedef insert(self, index: int, value: int) -> bool:'''数组插入数据操作.参数:index:将要插入的下标value:将要插入的数据返回:如果插入成功,则返回True如果插入失败,则返回False'''if index < 0 or len(self) >= self._capacity:return Falseelse:self._data.insert(index, value)return Trueif __name__ == "__main__":array = Array(5)array.insert(0, 3)array.insert(0, 4)array.insert(1, 5)array.insert(3, 9)array.insert(3, 10)assert array.insert(0, 100) is Falseprint(array)assert len(array) == 5assert array.find(1) == 5assert array.delete(4) is Trueprint(array)array.insert(3, 7)print(array)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。