列表不同于字符串和元组:列表是可变的——能够改变列表的内容
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):在xy时,返回整数;x=y时,返回0定义好该函数后,能够提供给sort方法作为參数。
以内建函数cmp(x,y)为例:
注:sort还有两个可选的參数——key和reverse、
參数key和參数cmp类似——必须提供一个在排序过程中使用的函数。然而,该函数并非直接用来确定对象的大小,而是为每一个元素创建一个键,然后全部元素依据键来排序。比方:若要依据元素的长度来排序。那么能够使用len作为键函数
另外一个參数reverse是简单的布尔值,用来知名是否要反向排序
3、列表操作
索引、分片、连接、乘法等
注意:列表是可变的。能够改动的。所以本届介绍一些能够改变列表的方法。
1、改变列表:元素赋值
注意:不能为一个不存在的元素赋值。
2、删除元素
del语句
3、分片赋值
使用分片赋值,能够使用与原序列不等长的序列将分片替换。
使用分片赋值。插入新的元素。
使用分片赋值,删除元素