当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Python List列表对象内置方法实例详解

    栏目:Linux/apache问题 时间:2019-11-05 10:32

    本文实例讲述了Python List列表对象内置方法。分享给大家供大家参考,具体如下:

    前言

    在上一篇中介绍了Python的序列和String类型的内置方法,本篇继续学习作为序列类型成员之一的List类型的内置方法。

    软件环境

    系统 UbuntuKylin 14.04 软件 Python 2.7.3 IPython 4.0.0

    列表List

    列表是一种容器,存放内存对象的引用。即是任意内存对象的有序集合,不同的类型对象可以存放在同一个列表中。通过索引来访问其中的元素。可以任意的嵌套、伸长、异构、为可变数据类型,支持原处修改列表内部元素的引用。

    修改列表的元素

    In [130]: li = ['my','name','is','Jmilk']
    In [131]: li[3] = 'new'
    In [132]: li
    Out[132]: ['my', 'name', 'is', 'new']
    
    

    插入列表元素

    插入的元素也可以是序列等任意类型

    In [133]: li.append('list')
    In [134]: li
    Out[134]: ['my', 'name', 'is', 'new', 'list']
    
    

    extend() 将序列中的元素迭代的附加到list中

    L.extend(iterable) – extend list by appending elements from the iterable

    注意:是将iterable中的元素迭代的添加到List中,成为List的元素,而不是将整个iterable成为List中的一个元素。这与append()方法是有本质的区别的。

    extend():

    In [157]: li.extend(tp)
    In [158]: li
    Out[158]: ['my', 'name', 'is', 'Jmilk', 'a', 'b', 'c']
    
    

    append():

    In [166]: li = ['my','name','is','Jmilk']
    In [167]: li2
    Out[167]: ['hey', 'chocolate']
    In [168]: li.append(li2)
    In [169]: li
    Out[169]: ['my', 'name', 'is', 'Jmilk', ['hey', 'chocolate']]
    
    

    insert() 在指定的索引号中插入一个元素

    L.insert(index, object) – insert object before index

    在指定的原index之前插入一个元素

    In [172]: li.insert(4,'and')
    In [173]: li
    Out[173]: ['my', 'name', 'is', 'Jmilk', 'and', ['hey', 'chocolate']]
    
    

    可以插入任意类型对象,但只会插入一个元素,index后的元素依次后挪一位。

    删除列表元素

    同时结合切片操作符。

    注意:这中删除元素的方法只有列表类型适用

    In [135]: li[3:] = []
    In [136]: li
    Out[136]: ['my', 'name', 'is']
    
    

    del() 删除List中的元素

    In [146]: li
    Out[146]: ['my', 'name', 'is']
    In [147]: del(li[1:])
    In [148]: li
    Out[148]: ['my']
    
    

    pop() 弹出List中的一个元素

    L.pop([index]) -> item – remove and return item at index (default last).

    Raises IndexError if list is empty or index is out of range.

    将List中的一个指定index的元素弹出(默认为最后一个元素),并返回一个value,可以赋值给变量。当List为空或指定的索引超出List长度时,会触发一个indexError。

    In [183]: li
    Out[183]: ['My', 'name', 'is', 'Jmilk']
    In [184]: name = li.pop()
    In [185]: name
    Out[185]: 'Jmilk'
    
    

    remove() 删除List中一个指定Value的元素

    L.remove(value) – remove first occurrence of value.

    Raises ValueError if the value is not present.

    删除List中第一个指定的Value的元素,不会返回一个Value。与del()的使用方法不同,remove()是通过value来决定删除的元素,而不是通过index来决定。