一、数组python
Python中使用最多的数据结构之一就是数组列表,是一种包含一系列有序对象的对象。能够经过数值索引来对其进行访问,第一个(或最左边)对象的索引为0。Python也支持负值索引,最后一个对象索引为-1,向左依次递减。数组
列表方法:a=[4,3,4,56,6,3e],len(a)返回列表的列表长度(对象个数);Python会在程序运行中对索引的有效性进行检查,有效值为 -n 到 n-1 ,n为列表长度。a.reverse() 列表逆序。数据结构
数组类的重定义:spa
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