美文网首页
1.python 数据结构-----列表

1.python 数据结构-----列表

作者: DDRose | 来源:发表于2018-07-25 20:57 被阅读0次

    列表

    关键特性:
    1.是可变的数据类型(可进行增删改查)
    2.可以存放不同数据类型
    3.是有序的,可以索引的

    • 列表常见的用法:
    • 创建一个列表
    # 创建一个空列表,等效 less1 = list()  列表是有序的,可以索引
    less1 = []
    
    # 创建一个不同数据类型的列表
    less2 = ['m', 1, ['b', 5], 2.0, ('c', 2), {'name': 'admin'}]
    
    • 增加
    # 把一个元素添加到列表的结尾:append(self, object)
    less3 = [1,2,'a','b']
    less3.append('c') #得到 ['1', '2', 'a', 'b', 'c']
    
    # 通过添加指定列表的所有元素来扩充列表:extend(self, iterable) terable(可迭代的,迭代器)
    less3 = [1,2,'a','b']
    less3.extend([4,5,6]) #得到 [1, 2, 'a', 'b', 4, 5, 6]
    
    # 在指定位置插入一个元素,index是要插入位置的索引,object是要插入的元素:insert(index, object)
    less3 = [1,2,'a','b']
    less3.insert(3,'D') #得到 [1, 2, 'a', 'D', 'b']
    
    • 删除
    
    # 从列表中删除值为x的第一个元素,若没有,则返回一个错误: remove(x)
    less3 = [1,2,'a',1,'b']
    less3.remove(1) # 得到[2,'a',1,'b']
    
    # 从列表中的索引或切片删除: del
    less3 = [1,2,'a',1,'b']
    del less3[2]  #得到 [1, 2, 1, 'b']
    
    # 切片删除
    less3 = [1,2,'a',1,'b']
    del less3[0:2] #得到  ['a', 1, 'b']
    
    # 从列表中删除index指定的索引的值,并将其返回: pop(index=None)
    less3 = [1,2,'a',1,'b']
    less3.pop(2) #得到 [1, 2, 1, 'b']
    
    # 若没有指定索引,默认删除最后一个元素,并将其返回
    less3 = [1,2,'a',1,'b']
    less3.pop() #得到 [1, 2, 'a', 1]
    
    # 清空了列表
    less3 = [1,2,'a',1,'b']
    less3[:] = []
    
    
    • 修改
    # 对指定索引进行赋值操作,对一个元素
    less3 = [1,2,'a',1,'b']
    less3[1] = 'ab' #得到 [1, 'ab', 'a', 1, 'b']
    
    # 对一段元素
    less3 = [1,2,'a',1,'b']
    less3[0:2] = [7,8,'ede','dede'] #得到 [7, 8, 'ede', 'dede', 'a', 1, 'b']
    
    • 其他操作
    # 跟索引取值
    less3 = [1,2,'a',1,'b']
    
    less3[0] #得到1
    
    less3[-1] #得到 b
    
    # 返回索引
    # 返回列表中第一个值为 x 的元素的索引,不存在就返回错误. 可指定开始点和结束点的索引,范围前开后闭:index( x, start=None, stop=None)
    less3 = [1,2,'a',1,'b']
    less3.index(1) #得到 0
    less3.index(2) #得到 1
    less3.index('a') #得到2
    
    

    注:除 index()、count() 外,其余的方法都是对列表本身进行修改,操作过后,列表会改变

    常见操作:

    统计一个元素的出现次数:count(x)

    less3 = [1,2,'a',1,'b']    
    less3.count(1) #得到 2 
    

    切片

    #列表切片前后原列表不变,切出来的分片是重新开辟一块内存的列
    
    less3 = [1,2,'a',1,'b']  
    less3[0:2] #返回[1, 2],   取区间[i,j) ,左闭右开  
    less3[:2] #返回[1, 2],可省略第一位  
    less3[2:] #返回['a', 1, 'b']  
    less3[2:-1] #返回 ['a', 1]  
    less3[:] #返回 [1, 2, 'a', 1, 'b'] 相当于复制一份  
    less3[::2] #返回 [1, 'a', 'b'] 步长为2  
    less3[:4:2] #返回 [1, 'a']  
    
    

    排序

    #对列表中的元素进行排序,默认从小到大,不能比较不同类型数据,key指定以...排序,reverse=True 表示逆序(从大到小):sort(key=None, reverse=False)
    
    less4= [3,2,7,5,1,4,9,0,23,13]  
    less4.sort()#得到 [0, 1, 2, 3, 4, 5, 7, 9, 13, 23]  
    
    

    列表的复制,等于lis[:]

    less3 = [1,2,'a',1,'b']  
    less4 = less3[:]  
    

    遍历列表

    less3 = [1,2,'a',1,'b']  
    for i in less3:  
        print i  
    
    

    计算列表长度

    less3 = [1,2,'a',1,'b']  
    len(less3) #得到 5  
    
    

    列表的比较

    #对应索引的元素一一对应比较  
    #从第一个元素开始比较(索引为0),只要有一个元素大,后面就不用再比较。类似字符串的比较,但字符串比较多是Asscii码 
    
    less3 = [1,2,'a',1,'b']  
    less4 = [3,2,7,5,1,4,9,0,23,13]  
    less3>less4 #得到 False  
    less3<less4 #得到 True
    

    判断元素是否在列表内 in 、not in

    less3 = [1,2,'a',1,'b']  
    1 in less3  #得到 True  
    0 not in less3 #得到 True  
     
    

    相关文章

      网友评论

          本文标题:1.python 数据结构-----列表

          本文链接:https://www.haomeiwen.com/subject/cemmmftx.html