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

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


转载于:https://my.oschina.net/u/2440318/blog/783283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值