Python 读书笔记 (3)数据结构

一、数组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
相关文章
相关标签/搜索