一、序列
序列简介
序列是指一种包含多项数据的数据结构,分为不可变序列和可变序列。可变序列可修改序列内的元素如列表,二不可变序列一旦建立就不能修改其中的元素,字符串和元组属于不可变序列。
列表和元组的创建
列表:列表名 =[元素1,元素2,····]
元组:元组名=(元素1,元素2,····)
注:列表和元组中的数据类型可以不同。如 list1=[1,“hello”,[2,3]]
二、列表和元组的通用操作
索引
利用下标访问元素,列表名称[下标] 元组名称[下标]
切片
格式:[star:end:step]
star:切片开始的索引(默认从0开始)
end:切片结束的索引(不包含end)(默认序列长度)
step:步长,默认为1,步长为负数,表示从右向左切片
list1 = [1,2,3,4,5,6,7]
print(list1[1:5:])
运行结果:

查找和计数
查找list.index(x):x在列表list中第一次出现的位置,如果不存在,抛出异常
计数list.count(x):x在列表list中出现的次数
最大值最小值和长度
max(),min(),len():列表和元组的元素类型必须相同
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
print(max(list1))
print(min(list1))
print(len(list1))
运行结果:

加法、乘法和in运算
list1+list2:结果是两个列表或元组所包含的元素的总和
list*n:表示对应的列表或元组重复n次
x in list:判断列表中是否存在x元素,存在返回Ture,否则返回Flase。
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
list2 = [9, 10, 11]
print(list1+list2)
print(list2*2)
print(12 in list2)
运行结果:

序列封包和序列解包
序列封包:把多个值给一个变量时,Python将这些值封装成元组。如a=1,2,3
序列解包:把序列给多个变量,按持续搞,如a=1,2,3 d,e,f=a
三、列表
dir(list):可查看列表的方法
创建列表
list( )如:list1=list(range(1,10,2))
列表名= [ 元素····]
增加元素
append( ):在列表尾部追加一个元素
insert( ):在列表的指定位置插入
extend():将一个列表追加到列表尾部

删除元素
del( ):根据索引删除列表中的一个元素或一段区间中的元素
remove():根据元素本身删除列表中的某个元素
clear( ):清空列表中所有元素

置逆和排序
reverse():置逆
sort():排序,默认从小到大,如果从大到小,需要添加参数reverse = True


弹出元素
列表名.pop()
入栈可用appen()
深拷贝和浅拷贝
浅拷贝list.copy( ) copy.copy( )

实例2:

深拷贝copy.deepcopy( )

总的列表相关操作:



四、元组
元组是不可变序列。
元组的创建
元组名 = (元素1,元素2·····)若只有一个元素,则需要在元素后面加一个逗号
tuple()
列表和元组的转换
list()
tuple()

五、字典
创建字典
{key1:value1,key2:value2,key3:value····}:键是Python中任意不可变数据如整数、字符串,不能是列表等可变类型,“键”是唯一的,不允许重复,而“值”是可以重复的。
dict():内置函数,如dict1=dict([(one',1),('two',2),('three',3)])
方3:

访问元素
dict[键]:若存在则返回“值”,不存在则抛出异常
增加修改元素
d[key]=value:将key对应的值修改为value,key不存在添加新的kv对。
删除元素
del dict[key]:通过键来删除,若键值不存在则抛出异常。
字典名.popitem( ):返回并删除字典中的最后一对键和值。
字典名.pop(key):key存在就移除并返回它的value值,如果字典已经为空,就抛出异常。
可先用in判断“键”是否存在:

get()和item()方法
get( ):返回指定“键”对应的“值”,并允许指定该键不存在时返回特定的“值”。
item( ): 返回字典的键、值对,用元组进行封装

keys( )和value()方法
key():返回字典的键。
value():返回字典的值。

fromkey()方法
dict.fromkeys(seq[ ,value]):用于创建新字典,value为字典所有键对应的初始值。
字典长度和检索
len(dict):返回键的数量。
key in dict:判断特定字符是否存在。

六、容器类
deque类似列表的容量,实现在两端快速添加和弹出。
rotate