1、数组
Python中使用最多的数据结构之一就是数组列表,是一种包含一系列有序对象的对象。可以通过数值索引来对其进行访问,第一个(或最左边)对象的索引为0。Python也支持负值索引,最后一个对象索引为-1,向左依次递减。
列表方法:a=[4,3,4,56,6,3e],len(a)返回列表的列表长度(对象个数);Python会在程序运行中对索引的有效性进行检查,有效值为 -n 到 n-1 ,n为列表长度。a.reverse() 列表逆序。
数组类的重定义:
class Array(object):
#数组初始化方法
def __init__(self,length =0,baseIndex = 0):
assert length >= 0
self.data =[None for i in xrange(length)]
self.baseIndex = baseIndex
#定义数组的拷贝方法(浅拷贝),复制之后副本数组内的元素对象和原本数组的元素对象是同一个。
def __copy__(self):
result = Array(len(self._data))
for i,datum in enumerate(self._data):
result._data[i] = datum
result.baseIndex = self.baseIndex
return result
#定义和存储访问数组对象的方法
def getOffset(self,index):
offset = index - self.baseIndex
if offset < 0 or offset >= len(self._data):
raise IndexError
def __getitem__(self,index):
return self._data[self.getOffset(index)]
def __setitem__(self,index,value):
self._data[self.getOffset(index)] = value