什么是列表? 列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。 列表的介绍 一、更新列表 1.元素赋值 >>> a=[1,3,4,5] >>> a[1]=10 #改变a中第二个值为10 >>> a [1, 10, 4, 5]
2.增加元素 >>> a=[1,10,4,5] >>> a.append(6) #用法:list.append(obj) >>> a [1, 10, 4, 5, 6]
3.删除元素 >>> a=[1,10,4,5,6] >>> del a[2] #删除第三个元素 >>> a [1, 10, 5, 6]
4.分片赋值 >>> b=list('abc') #list函数将字符串转化为列表 >>> b ['a', 'b', 'c'] >>> b[1:1]='d' #使用分片赋值增加元素 >>> b ['a', 'd', 'b', 'c'] >>> b[1:2]='h' #使用分片赋值修改元素 >>> b ['a', 'h', 'b', 'c'] >>> b[2:3]='' #使用分片赋值删除元素 >>> b ['a', 'h', 'c']
二、列表方法 1.统计元素个数 count 用法:list.count(obj) >>> a=list('hello,world') >>> a.count('l') 3
2.在列表末尾追加另一个序列 extend 用法:list.extend(seq) >>> a=['hello'] >>> b=['world'] >>> a.extend(b) >>> a
['hello', 'world'] 注:可用分片赋值实现同等效果>>> a[len(a):]=b 与连接符号 +的区别 >>> a=['hello'] >>> b=['world'] >>> a+b ['hello', 'world'] >>> a #extend已将a的值改变 ['hello']
3.查找第一个匹配的元素index 用法:list.index(obj) >>> a=['hello', 'world'] >>> a.index('hello') 0
4.插入 insert 用法 list.insert(index,obj) >>> a=['hello', 'world'] >>> a.insert(0,'goodmoring') #插在0的位置上 >>> a ['goodmoring', 'hello', 'world']
5.移除元素 pop (注:唯一一个技能修改元素又能返 回元素值的方法) 用法:list.pop(obj=list[-1]) >>> x=[1,2,3] >>> x.pop() #不加参数,删除最后一个值,并返回元素值 3 >>> print(x) [1, 2] >>> y=[1,2,3] >>> y.pop(1) #添加参数1,删除编号为1的元素值 2 >>> print(y) [1, 3]
6.移除列表中第一个匹配项 remove 用法:list.remove(obj) >>> x=[1,2,3,2] >>> x.remove(2) >>> print(x) [1, 3, 2] #只删除第一个匹配值2
7.反向列表中的元素 reverse 用法:list.reverse() >>> x=[1,2,3] >>> x.reverse() >>> print(x) [3, 2, 1] #顺序取反
8.排序 sort 用法:list.sort(func) func为可选参数 >>> x=[4,7,2,5] >>> y=x[:] #此处与y=x的区别:y=x指向的是同一个列表,若不分片赋予,则x同样被排序 >>> y.sort() >>> print(y) [2, 4, 5, 7] >>> print(x) [4, 7, 2, 5]
同样的操作的方法可使用sorted 用法:sorted(list) >>> x=[4,7,2,5] >>> y=sorted(x) >>> print(x) [4, 7, 2, 5] >>> print(y) [2, 4, 5, 7]
sort可选参数有两个,即key和reverse >>> field=['study','python','is','happy'] >>> field.sort(key=len) #按照长度进行排序 >>> field ['is', 'study', 'happy', 'python'] >>> field.sort(key=len,reverse=True) #按照长度进行反向排序 >>> field ['python', 'study', 'happy', 'is']
9.清空列表 clear 用法:list.clear >>> field ['python', 'study', 'happy', 'is'] >>> field.clear() >>> field []
10.复制列表 copy ,类似于a[:] 用法:list.copy >>> x=[1,2,3] >>> y=x.copy() >>> y [1, 2, 3]
三、元组 元组与列表类似,但是元组的元素不能修改 1.创建元组:用逗号分隔一些值,则自动创建元组 >>> 1,2,3 (1, 2, 3) >>> 1, (1,) #逗号很重要,没有逗号是创建不了元组的 >>> 1 1
使用tuple函数创建元组 >>> x=[1,2,3] >>> tuple(x) #可以将列表改成元组 (1, 2, 3)
2.元组基本操作 (1)访问元组 >>> x=(1,2,3,4) >>> x[1] 2 >>> x[2:] (3, 4)
(2)连接组合元组 >>> x=(1,2,3,4) >>> y=(5,6) >>> x+y (1, 2, 3, 4, 5, 6)
(3)删除元组 >>> y=(5,6) >>> del y >>> y #此时元组已不存在 Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'y' is not defined
|