什么是列表?
列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。
列表的介绍
一、更新列表
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 "", line 1, in
NameError: name 'y' is not defined