数据容器:一种可以容纳多份数据的数据类型。容纳的每一份数据称之为1个元素,每个元素可以是任意类型的数据,如字符串,数字,布尔等。
数据容器共分为5类,分别是列表(list),元组(tuple),字符串(str),集合(set),字典(dict)
列表定义:变量名称=[元素1,元素2,···]
空列表:变量名称=[] 或 变量名称=list()
注意:列表可以存储不同的数据类型,支持嵌套
列表的下标索引: 列表[下标索引]
注:1.列表中的每一个元素都有其位置下标,从前向后依次从0开始递增
2.嵌套列表索引:列表[外层][内层]
3.列表[-1]表示最后一个元素,可从后往前依次递减
列表的方法
列表查询:查找指定元素在列表的下标,如果找不到,报错ValueError
语法:列表.index(元素)
列表修改:修改特定位置的元素值
语法: 列表[下标]=值
插入元素:在指定的下标位置插入指定的元素
语法: 列表.insert(下标,元素)
追加元素:将指定元素追加到列表的尾部
语法: 1.列表.append(元素)
2.列表.extend(其他数据容器)——将其他数据容器的内容取出,依次追加到列表尾部
删除元素:删除指定下标索引的元素
语法: 1. del 列表[下标]
2.列表.pop(下标)——需返回接收删除的元素
删除匹配:删除某元素在列表中的第一个匹配项
语法: 列表.remove(元素)
清空列表内容: 列表.clear()
统计某元素在列表中的数量: 列表.count(元素)
统计列表元素数量: len(列表)
元组
与列表相比,一旦定义完成就不可修改(只读),但可修改元组内嵌套的list内容
元组定义: 变量名称=(元素,元素,元素,···)
注意:元组只有一个数据时,要在数据后面加逗号,如t1=('Hello',),否则努不是元组类型
空元组:1.变量名称=()
2.变量名称=tuple()
下标索引取出内容:元组名称[外层][内层]
元组的方法:
元组名称.index():查找某个数据,如果数据存在返回对应的下标,否则报错
元组名称.count():统计某个数据在当前元组出现的次数
len(元组):统计元组内的元素个数
字符串
字符串是字符的容器(包括空格),也可以通过下标进行访问,从前向后,下标从0开始;从后向前,下标从-1开始。字符串无法修改。
字符串.index(字符串1):查找特定字符串的起始下标索引值
字符串.replace(字符串1,字符串2):将字符串内的全部的字符串1替换为字符串2
注意:不是修改字符串本身,而是返回一个新字符串
字符串.spilt(分隔符字符串):按照指定的分隔符字符串,将字符串划分为多个字符串,存入列表对象
注意:字符串本身不变,而是得到一个列表对象
eg. my_str="hello the world ",my_str_list=my_str.split(" ")——空格分割
得到my_str_list=["hello","the","world"]
字符串.strip():去除多余的开头和结尾的空格
字符串.strip(字符串1):按照字符串1的单个字符,去除最开头和最结尾的指定字符
5.len(字符串):统计字符串的字符个数(包括空格)
序列
序列是指内容连续,有序,可使用下标索引的一类数据容器,如列表,元组等
切片:从一个序列中取出一个子序列
切片语法: 序列[起始下标:结束下标:步长]——表示从指定位置开始,依次取出元素,到指定位置结束 (结束位置不取出),得到新序列
eg. 倒序字符串str[::-1]
集合
集合不支持元素的重复,并且内容无序,遍历只能通过for循环
集合定义: 变量名称={元素,元素,······}
空集合: 变量名称=set()
集合的常用操作
集合.add(元素):将指定元素添加到集合内
集合.remove(元素):将指定元素从集合内移除
集合.pop():从集合内随机取出一个元素
集合.clear():清空集合
集合1.difference(集合2):取出集合1和集合2的差集(集合1有而集合2没有的)
集合.difference-update(集合2):对比集合1和集合2,在集合1内删除和集合2相同的元素
集合1.union(集合2):将集合1和集合2组合成新集合(集合1和集合2均不改变)
len(集合):统计集合元素数量
字典
字典的定义:字典变量={key:value,key:value,······}
空字典:字典变量={} 或字典变量=dict()
从字典中基于key获取value:(value=字典变量[key])
字典的key和value可以是任意数据类型(key不可为字典),这意味着字典可以嵌套。嵌套字典获取数据的方式为字典变量[外层][内层]
字典[key]=value:字典被修改,新增元素
字典[key]=新value:字典被修改,元素被更新
字典.pop(key):获得指定key的value,同时字典被修改,指定key的数据被删除
字典.clear():清空字典
字典.keys():得到字典中的全部key
五类数据容器的对比