列表

作者: 举个简单的栗子 | 来源:发表于2019-04-29 21:40 被阅读0次

    列表

    列表概念

    列表是由一系列特定顺序排列的元素组成的序列。

    In [18]: a = [1,2,3,4,5,6]
    
    In [19]: a
    Out[19]: [1, 2, 3, 4, 5, 6]
    

    创建列表的方式,可以使用 list()和 [] 生成

    In [7]: empty_list = list()
    
    In [8]: empty_list
    Out[8]: []
    
    In [11]: empty_list = []
    
    In [12]: empty_list
    Out[12]: []
    

    列表操作

    加法和乘法

    In [13]: a = [1,2,3]
    
    In [14]: a + [4,5,6]
    Out[14]: [1, 2, 3, 4, 5, 6]
    
    In [16]: a = [1,2,3]
    
    In [17]: a * 3
    Out[17]: [1, 2, 3, 1, 2, 3, 1, 2, 3]
    

    索引和切片

    index()方法返回元素所在的索引位置

    In [20]: a = [1,2,3,4,5,6]
    
    In [21]: a.index(4)
    Out[21]: 3
    

    返回前2个元素,不包含后以一个索引元素

    In [22]: a = [1,2,3,4,5,6]
    
    In [23]: a[0:2]
    Out[23]: [1, 2]
    

    两种效果是相同的

    In [24]: a = [1,2,3,4,5,6]  
    
    In [25]: a[:2]
    Out[25]: [1, 2]
    

    返回所有元素

    In [26]: a = [1,2,3,4,5,6]
    
    In [27]: a[:]
    Out[27]: [1, 2, 3, 4, 5, 6]
    

    返回从某索引开始往后的所有元素,包含开始的索引

    In [28]: a = [1,2,3,4,5,6]
    
    In [29]: a[2:]
    Out[29]: [3, 4, 5, 6]
    

    返回最后2个元素

    In [30]: a = [1,2,3,4,5,6]
    
    In [31]: a[-2:]
    Out[31]: [5, 6]
    

    根据步长来返回元素,步长为2,每隔1个元素取一个

    In [32]: a = [1,2,3,4,5,6]
    
    In [33]: a[::2]
    Out[33]: [1, 3, 5]
    

    修改元素

    In [34]: a = [1,2,3,4,5,6]
    
    In [35]: a[1] = 'xy'
    In [36]: a
    Out[36]: [1, 'xy', 3, 4, 5, 6]
    

    用相等的元素进行替换的方式进行修改

    In [37]: a = [1,2,3,4,5,6]
    
    In [38]: a[0:2] = ['x','y']
    
    In [39]: a
    Out[39]: ['x', 'y', 3, 4, 5, 6]
    

    用多个元素来替换

    In [37]: a = [1,2,3,4,5,6]
    
    In [38]: a[0:2] = ['x','y','z']
    
    In [39]: a
    Out[39]: ['x', 'y','z', 3, 4, 5, 6]
    

    删除元素

    按照索引删除单个元素

    In [41]: a = [1,2,3,4,5,6]
    
    In [42]: del a[1]
    In [43]: a
    Out[43]: [1, 3, 4, 5, 6]
    

    使用切片删除多个元素

    In [45]: a = [1,2,3,4,5,6]
    
    In [46]: del a[0:2]
    In [47]: a                                        
    Out[47]: [3, 4, 5, 6]
    

    删除间隔的元素

    In [45]: a = [1,2,3,4,5,6]
    
    In [46]: del a[::2]
    In [47]: a                                        
    Out[47]: [2, 4, 6]
    

    列表方法

    len()方法

    计算列表的长度

    In [51]: a = [1,2,3,4,5,6,7,7,6,4]
    
    In [52]: len(a)
    Out[52]: 10
    

    count()方法

    该方法计算指定元素出现的次数

    In [1]: a = [1,2,3,4,4,5,6]
    
    In [2]: a.count(4)
    Out[2]: 2
    

    list.append(ob) 方法

    将元素 ob 加在列表list的最后

    In [3]: a = [1,2,3,4,5,6]
    
    In [4]: a.append('yezi')
    
    In [5]: a
    Out[5]: [1, 2, 3, 4, 5, 6, 'yezi']
    

    该方法每次只能添加一个元素,并不会因为是序列而展开

    In [6]: a = [1,2,3,4,5,6]
       ...: a.append([11,12])
       ...: a
    Out[6]: [1, 2, 3, 4, 5, 6, [11, 12]]
    

    list.insert(x,ob) 方法

    在列表索引x的位置上插入元素 ob ,先前索引位置上的元素要往后移

    In [7]: a = [1,2,3,4,5,6]
       ...: a.insert(2,'xyz')
       ...: a
    Out[7]: [1, 2, 'xyz', 3, 4, 5, 6]
    

    list.remove(ob)方法

    会将列表中第一个出现的 ob 删除,如果没有则会报错

    In [8]: a = [1,2,3,4,5,6,7]
       ...: a.remove(4)
       ...: a
    Out[8]: [1, 2, 3, 5, 6, 7]
    
    In [12]: a = [1,2,3,4,5,6,7]
    
    In [13]: a.remove(15)
    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-13-fc48c954ed56> in <module>
    ----> 1 a.remove(15)
    
    ValueError: list.remove(x): x not in list
    

    list.pop(idx) 方法

    会将索引 idx 处的元素删除,并返回这个元素

    In [14]: a = [1,2,3,4,5,6,]
    
    In [15]: a.pop(3)
    Out[15]: 4
    

    list.sort()方法

    方法sort()永久性的修改列表元素的排列顺序

    In [16]: a = [3,2,1,4,5]
    
    In [17]: a.sort()
    
    In [18]: a
    Out[18]: [1, 2, 3, 4, 5]
    

    还可以使用相反的顺序进行排列,只需要对sort()方法传递参数 reverse=True

    In [19]: a = [3,2,1,4,5]
    
    In [20]: a.sort(reverse=True)
    
    In [21]: a
    Out[21]: [5, 4, 3, 2, 1]
    

    sorted(list)方法

    该方法可以对列表进行临时性排序,原来的列表不会有改变

    In [22]: a = [3,2,1,4,5]
    
    In [23]: print(sorted(a))
    [1, 2, 3, 4, 5]
    
    In [24]: a
    Out[24]: [3, 2, 1, 4, 5]
    

    list.reverse()方法

    该方法可以反转列表元素的排列顺序

    In [28]: a = [3,2,1,4,5]
    
    In [29]: a.reverse()
    
    In [30]: a
    Out[30]: [5, 4, 1, 2, 3]
    

    list1.extend(list2)方法

    在一个列表之后追加另外一个列表

    In [31]: a = [1,2,3]
    
    In [32]: b = [4,5,6]
    
    In [33]: a.extend(b)
    
    In [34]: a
    Out[34]: [1, 2, 3, 4, 5, 6]
    

    相关文章

      网友评论

          本文标题:列表

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