前言
简单来说,数据结构就是以特定的方式管理储存一组数据用的。
怎样存的效率更高,管理的速度更快,也就成了其关键所在。
Python中有四种内置数据结构,分别是list列表,元组tuple,字典dict,集合set
List列表
特性:有多种方法管理数据
常用方法
list.append(x) 末尾添加一个元素
list.extend(x) 末尾追加一组元素
list.insert(i,x) 在下标i前插入一个元素
list.remove(x) 删除一个元素(如有多个相同元素,则删除第一个)
del list[i] 删除下标i的元素
list.pop(i) 弹出下标i的元素(可不填,默认-1)
list.clear() 清空列表
list[i] = n 替换下标i的元素
list.index(n) 查找元素n的下标
list.count(n) 查找元素n在列表中出现的次数
list.sort() 对列表升序排序
tuple 元组
特性: 数据无法修改, 因此比列表效率更高
常用方法
tuple.index(n) 查找元素n在列表中的下标
tuple.count(n) 查找元素n在列表中出现的次数
特殊
唯一改变元组的方法就是对其重新赋值
dict 字典
特性:映射类型,以一对键值来储存数据,键不可变
由于是映射关系,只能通过键来查找值,故无索引值
常用方法
dict[key] = value 新增/替换 一个元素
dict1.update(dict2) 新增/替换 一组元素
dict.clear() 清空字典
dict.pop(key) 弹出对应键元素
dict.get(key,default) 返回对应键的值,无则返回default,默认None
特殊
dict.keys() # 返回迭代对象键
dict.values() # 返回迭代对象值
dict.items() # 返回迭代对象键值元组
set 集合
特性: 元素不重复且无序
常用方法
set.add() 添加元素
set1.update(set2) 添加新集合
set.remove(n) 删除一个元素,如不存在则会报KeyError错误
set.discard(n) 删除一个元素,如不存在则pass
set.clear() 清空集合
特殊
对于多个集合可以进行的操作
s1 – s2 求差集
s1 & s2 求交集
s1 | s2 求并集
s1 ^ s2 求对称补集
共同方法
len() 统计个数
max() 求最大值
min() 求最小值
值得一提的是字符串可以按字典序来分大小