一、列表
列表(List)是一种有序集合,可随时添加或者删除其中的元素。
1.创建列表
#两种方式
>>> AList = [];AList
[]
>>> BList = list();BList
[]
2.添加元素
#添加元素x添加到列表尾部 list.append(x)
>>> AList.append(0);AList
[0]
#将列表L中所有元素添加到列表尾部 list.extend([L])
>>> AList.extend([1,2,3]);AList
[0, 1, 2, 3]
#在列表指定位置index处添加元素x list.insert(index,x)
>>> AList.insert(4,4);AList
[0, 1, 2, 3, 4]
>>> AList.insert(4,[4,5,6]);AList
[0, 1, 2, 3, [4, 5, 6], 4]
3.删除
#删除列表中首次出现的指定元素 list.remove(x)
>>> List = [1,2,7,9,5,2,1];List
[1, 2, 7, 9, 5, 2, 1]
>>> List.remove(2);List
[1, 7, 9, 5, 1]
#删除并返回列表对象指定位置的元素 list.pop([index])
>>> List.pop(2);List
9
[1, 7, 5, 1]
#删除列表中所有元素,但保留列表对象 list.clear()
>>> List.clear();List
[]
4.索引
list.index(x)
返回 值为x的首个元素的下标
>>> List = [1,2,7,9,5,2,1];List
[1, 2, 7, 9, 5, 2, 1]
>>> List.index(2)
1
>>> List.index(5)
4
5.计数
list.count(x)
返回指定元素x在列表中出现的次数
>>> List = [1,2,7,9,5,2,1,3,8,2,6,7];List
[1, 2, 7, 9, 5, 2, 1, 3, 8, 2, 6, 7]
>>> List.count(2)
3
>>> List.count(4)
0
6.逆序排序
list.reverse()
对列表元素进行原地倒序
>>> List = [1,2,3,4,5,6,7,8,9];List
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> List.reverse();List
[9, 8, 7, 6, 5, 4, 3, 2, 1]
#还可以用切片完成
>>> List = [1.2,3,4,5,6]
>>> List[::-1]
[6, 5, 4, 3, 1.2]
7.顺序排序
list.sort()
对列表元素进行排序
>>> AList = [2,5,6,3,1,4];AList
[2, 5, 6, 3, 1, 4]
>>> AList.sort();AList
[1, 2, 3, 4, 5, 6]
8.复制
list.copy()
返回列表对象的浅拷贝
>>> AList = [1,2,3,4,5,6];AList
[1, 2, 3, 4, 5, 6]
>>> BList = AList.copy()
>>> BList
[1, 2, 3, 4, 5, 6]
>>> AList.remove(2)
>>> AList
[1, 3, 4, 5, 6]
>>> BList
[1, 2, 3, 4, 5, 6]
#用copy复制得到的列表,不会因原列表的改变而改变
二、元组
元组(tuple)是序列类型中比较特殊的类型,因为它一旦创建就不能被修改。元组类型在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等情况下十分有用。Python中元组采用逗号和圆括号(可选)来表示。
1.创建元组
#创建一个空元祖
>>> a = tuple()
>>> a
()
#创建只含一个元素的元组,一定要加个逗号,否则报错
>>> a = (1,)
>>> a
(1,)
元组的()
不是必须的,但是,
是必须的。
>>> a = (1,2,3,4,5)
>>> type(a)
<class 'tuple'>
>>> a = 1,
>>> type(a)
<class 'tuple'>
2.删除
元组无法修改和删除单个元素,但可删除整组元素,删除后无法访问。
>>> a =(1,2,3,4,5)
>>> del a
>>> a
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
a
NameError: name 'a' is not defined
3.计数
同列表的计数方法类似,语法为tuple.count(x)
。
>>> t = (1,9,9,9,0,9,2,6,3,4,7)
>>> t.count(9)
4
4.索引
tuple.index(value, [start, [stop]])
>>> t = (1,9,9,9,0,9,2,6,3,4,7)
>>> t.index(0,1,7)
4
>>> t.index(2)
6
列表和元组的一些操作符和函数都是类似的,在此就不过多介绍了。
序列类型有12个通用的操作符和函数(下图)