Python列表

来源:互联网 发布:linux主机管理系统 编辑:程序博客网 时间:2024/06/05 00:13

列表不同于字符串和元组:列表是可变的——可以改变列表的内容

1、列表函数

    1、list(x)函数(其实是一种类型,而不是一个真正意义上的函数)

        转化为列表,其中x可以是其他序列

        

        可以用‘’.join(somelist)将一个由字符组成的列表转化为字符串

        

2、列表方法

    方法定义:方法是一个和某些对象有紧密联系的函数,对象可能是列表、数字、字符串等

    方法调用:对象.方法(参数)

    1、append方法

          用于在列表末尾追加新的对象,直接修改原列表a(可以用分片赋值实现)

          

    2、count方法

        统计某个元素在列表中出现的次数。

        

        注意:y 和 'y' 的区别,y 是变量,‘y’ 是元素

    3、extend方法

        在列表的末尾一次性追加另一个序列的多个值。直接修改原列表a(可以用分片赋值实现)

        

        而a+b虽然能得到同样的结果,但并没有修改a,而是返回一个新的列表

        

    4、index方法

        用于从列表中找出某个值第一个匹配项的索引位置,当该值不存在时,异常出错

        

    5、insert方法

        将对象插入到列表中,(可以用分片赋值实现),修改原列表

        

    6、pop方法

        移除列表中的一个元素(默认是最后一个),并且返回该元素的值。

        pop方法是唯一一个既能修改列表又返回元素值(除了None)的列表方法

        

        

        可以加参数实现删除,及实现栈的先进先出:list.insert(0,x)——list.pop()或者list.pop(0)——list.pop()

    7、remove方法

        用于移除列表中某个值得第一个匹配项,找不到时,异常出错。修改原列表

        

    8、reverse方法

        将列表中的元素反向存放,

        

        

    9、sort方法

        在原位置上对列表进行排序,原位置上意味着改变原来的列表。不返回值

        

        注意:如果需要返回一个排好序的副本,则先复制(y = x[:]),然后对y排序;不要用y=x,这样对y操作时,x也会变

        

                    另一种方法——利用sorted()函数,且这个函数可以作用于任何序列,但总返回一个列表。  

       

       

   10、高级排序

        如果希望能按特定的方式进行排序(而不是sort方法默认方式),那么可以通过compare(x,y)的形式自定义比较函数。

        compare(x,y):在x<y时,返回负数;在x>y时,返回整数;x=y时,返回0定义好该函数后,可以提供给sort方法作为参数。

        以内建函数cmp(x,y)为例:

        

        注:sort还有两个可选的参数——key和reverse、

        参数key和参数cmp类似——必须提供一个在排序过程中使用的函数。然而,该函数并不是直接用来确定对象的大小,而是为每个元素创建一个键,然后所有元素根据键来排序。比如:若要根据元素的长度来排序,那么可以使用len作为键函数

        

        另外一个参数reverse是简单的布尔值,用来知名是否要反向排序

        

3、列表操作

        索引、分片、连接、乘法等

        注意:列表是可变的,可以修改的。所以本届介绍一些可以改变列表的方法。

        1、改变列表:元素赋值

        

        注意:不能为一个不存在的元素赋值。

        

        2、删除元素

        del语句

        

        3、分片赋值

        

        使用分片赋值,可以使用与原序列不等长的序列将分片替换。

        

        使用分片赋值,插入新的元素。

        

        使用分片赋值,删除元素

        


        

0 0
原创粉丝点击