设计一个数组类,要求能够把包含数字的列表,元组或range对象转化为数组,并能够修改数组中指定位置上的元素值
时间: 2023-06-12 22:03:53 浏览: 130
【Python】Python中的数组、列表、元组、Numpy数组、Numpy矩阵
5星 · 资源好评率100%
下面是一个基本的数组类的实现,满足了题目所要求的功能:
```python
class Array:
def __init__(self, data):
if isinstance(data, (list, tuple, range)):
self._data = list(data)
else:
raise TypeError("Invalid data type, should be list, tuple, or range")
def __getitem__(self, index):
return self._data[index]
def __setitem__(self, index, value):
self._data[index] = value
def __len__(self):
return len(self._data)
```
这个数组类的构造函数接受一个包含数字的列表、元组或range对象,并把它转化为一个列表。如果输入的不是这三种类型的数据,就会抛出一个TypeError异常。
类中还实现了`__getitem__`和`__setitem__`方法,让我们可以通过下标访问数组中的元素,并且可以修改指定位置上的元素值。
最后,`__len__`方法返回数组的长度,方便我们获取数组中元素的数量。
阅读全文