代码改变世界

python3 内置数据结构之列表

2017-04-15 17:55  欢迎回来  阅读(239)  评论(0)    收藏  举报

列表是可变对象

  创建列表 ---> lst = []

常用方法介绍:

  append:将对象追加到列表索引尾部;

  count:统计列表成员出现的次数;

    In [6]:lst = [3, 5, 7, 2, 2, 5, 9, 5]

    In [7]: lst.count(5)
    Out[7]: 3      

  insert:将对象插入到指定的索引中去;

    In [8]: lst = [3, 5, 7, 2, 2, 5, 9, 5]

    In [9]: lst.insert(2,'a')

    In [10]: lst
    Out[10]: [3, 5, 'a', 7, 2, 2, 5, 9, 5]

  reverse:将列表就地反序;

    In [11]: lst = [3, 5, 7, 2, 2, 5, 9, 5]

    In [12]: lst.reverse()

    In [13]: lst
    Out[13]: [5, 9, 5, 2, 2, 7, 5, 3]

  clear:清空列表;

  extend: 追加一个可迭代的对象;

    In [14]: lst = [3, 5, 7, 2, 2, 5, 9, 5]

    In [15]: lst.extend(['a','b','c'])

    In [16]: lst
    Out[16]: [3, 5, 7, 2, 2, 5, 9, 5, 'a', 'b', 'c']

  pop: 默认弹出列表最后个元素,也可以指定弹出的索引位置;

    In [17]: lst
    Out[17]: [3, 5, 7, 2, 2, 5, 9, 5, 'a', 'b', 'c']

    In [18]: lst.pop()
    Out[18]: 'c'

    In [19]: lst .pop(-2)
    Out[19]: 'a'

    

  sort:将列表排序。默认为正序,反序需要指定reverse=True;

    In [20]: lst = [3, 5, 7, 2, 2, 5, 9, 5]

    In [21]: lst.sort()

    In [22]: lst
    Out[22]: [2, 2, 3, 5, 5, 5, 7, 9]

    In [23]: lst.sort(reverse=True)

    In [24]: lst
    Out[24]: [9, 7, 5, 5, 5, 3, 2, 2]

  copy:浅复制;

    In [24]: lst
    Out[24]: [9, 7, 5, 5, 5, 3, 2, 2]

    In [25]: lst
    Out[25]: [9, 7, 5, 5, 5, 3, 2, 2]

    In [26]: new_lst = lst.copy()

    In [27]: lst.clear()

    In [28]: new_lst
    Out[28]: [9, 7, 5, 5, 5, 3, 2, 2]

  index:根据列表中的元素找对应的索引(可以定义查找范围index(value, [start, [stop]]));

    In [29]: lst = [3, 5, 7, 2, 2, 5, 9, 5]

    In [29]: lst.index(5)
    Out[29]: 1

    In [30]: lst.index(5,2,6)
    Out[30]: 5

  remove:移除列表中的指定元素(值),若没有该元素则抛出ValueError的异常;

列表的分片:

  分片是根据列表的索引来进行操作的,有三个参数可以理解为start_index,stop_index,step.

    lst[:] 列出所用元素

    lst[3:-1] 列出从第三个元素到最后一个元素

    lst[3:-1:2] 列出从第三个元素到最后一个元素,步长为2.

  分片的操作很灵活,需要多加练习才能熟练掌握;

 

人生苦短,我用python