python之数据存储

列表

  1. 概念:列表是一种存储大量数据的存储类型
  2. 特点
  • 列表具有索引概念,可以通过索引操作列表中的数据
  • 列表中的数据可以进行添加、删除、修改、查询等操作
  1. 列表的定义和使用
变量名=[数据1,数据2,……]  #创建
变量名[索引] #获取列表中的数据
变量名[索引]=#修改列表中的数据
  1. 操作列表常用方法
方法名功能参数返回值
append(data)在列表的末尾加数据data:要追加的数据None
insert(index,data)在列表的指定位置插入数据(如果索引位置超过最大位置,数据将插入到列表末尾)index:插入数据的索引位置 data:要插入的数据None
extend(model)在列表的末尾追加参数对象中的所有数据model:保存有数据的存储模型,该模型接受列表、元组、集合类型的对象None
remove(data)从列表中删除指定的数据(如果数据不存在将报错)data:要删除的数据None
pop(index)从列表中获取并删除指定索引位置上的数据(如果索引值不存在将报错)index:指定索引位置获取到的数据
clear()清空列表中所有数据None
index(data)查询列表中指定数据对应的索引(如果数据不存在将报错)data:要查询的指定数据查询的数据第一次出现的索引
count(data)统计列表中指定数据出现的次数data:要统计的指定数据统计的数据的出现的次数

演示:
在这里插入图片描述

元组

  1. 概念:元组是一种存储固定数据的存储模型
  2. 特点
  • 元组具有索引概念,可以通过索引操作元组中的数据
  • 元组中的数据可以进行查询操作,但不能进行添加、删除、修改操作
  1. 元组的创建和使用
变量名=(数据1,数据2,……) # 创建
变量名[索引] # 获取元素
  1. 常用方法
方法名功能参数返回值
index(data)查询元组中指定数据对应的索引(如果数据不存在将报错)data:要查询的数据查询的数据第一次出现的索引
count(data)统计元组中指定数据出现的数量data:要统计的数据统计的数据的出现次数

演示:
在这里插入图片描述

  1. 注意事项
  • 元组中的数据如果是非引用类型数据,不允许修改;如果是引用类型对象,该对象不允许替换,而对象的属性值可以发生改变
  • 元组的特殊应用:自动解包、自动组包
    自动解包:将多个数据赋给一个变量时,多个数据将包装成一个元组,将元组赋值给变量,该过程称为自动组包。
    eg:return 1,2,3 相当于 return (1,2,3)
    自动解包:将元组赋值给多个变量时,如果元组数据的数量与变量的数量相同,元组将被自动拆分成多个值,并赋值给对应变量,该过程称为自动解包。
    eg:a,b,c=(1,2,3) 等同于 a=1,b=2,c=3

集合

  1. 概念:集合是一种存储大量无序不重复数据的存储类型
  2. 特点
  • 集合没有索引的概念
  • 集合中的元素可以进行添加、删除等操作
  1. 集合的创建
变量名={数据1,数据2,……}
  1. 集合常用方法
方法名功能参数返回值
add(data)向集合中添加数据data:要添加的数据None
remove(data)从集合中删除指定元素(如果数据不存在将报错)data:要删除的元素None
pop()从集合中获取并删除第一个元素获取到的数据
clear()清空集合中所有数据None

演示:
在这里插入图片描述

字典

  1. 概念:字典是一种使用“键值对结构”存储数据的存储类型
  2. 特点
  • 字典不具有索引概念,字典使用键key代替索引,可以通过键操作字典中存储的数据值value
  • 字典可以根据键key进行数据的添加、删除、修改、查询等操作
  1. 字典的创建和使用
变量名={键1:值1,键2:值2,……} #创建
变量名[] #获取
变量名[]=#修改
变量名[]=#如果此时键不存在,该语句会添加新键和数据
  1. 常用方法
方法名功能参数返回值
pop(key)从字典中删除指定键key对应的键值对(如果键key不存在将报错)key:要删除的值value对应的key被删除的value
popitem()删除并获取字典中最后一对键值对返回被删除的键值对
setdefault(key,value)添加新的键值对(如果存在对应的键,则忽略该操作)key:要添加的新键值对对应的键 value:要添加的新键值对对应的值添加成功返回value,没有添加则返回原始key对应的value
update(dict)使用新字典中的数据对原始字典进行更新dict:新字典对象None
get(key)根据键key查询字典中对应的值(如果key不存在将返回None)key:要查询的键keykey对应的value
keys()获取字典中所有的键key组成的列表数据所有键组成的列表
values()获取字典中所有的值value组成的列表数据所有值组成的列表
items()获取字典中所有键值对列表数据由键值对组成的列表,键值对的格式是元组数据
clear()清空字典中所有数据None

演示:
在这里插入图片描述
在这里插入图片描述

  1. 注意事项
  • 字典中的键是唯一的
  • 当需要存储少量数据,并且期望以最快的速度获取单个数据,推荐使用字典
  • 当需要使用非对象格式保存单个对象的属性值,推荐选择字典

存储类型之间的转换

转换成列表转换成元组转换成集合
列表-tuple(列表对象)set(集合对象)
元组list(元组对象)-set(元组对象)
集合list(集合对象)tuple(集合对象)-

数据存储结构嵌套

  1. 概念:指一种数据结构中包含的数据时另一种数据结构
    eg:
list=[1,2,3]
tuple=(4,5)
set={6,7}
dict={"1":8,"2":9}
list1=[list,tuple,set,dict]
  1. 公共方法
方法名功能参数返回值
len(model)获取容器中的数据总量model:保存有数据的存储模型,该模型接受各种容器容器中的数据总量
max(model)获取容器中的最大值,对于字典获取字典的键key的最大值model:保存有数据的存储模型,该模型接受各种容器容器中数据的最大值
min(model)获取容器中的最小值,对于字典获取字典的键key的最小值model:保存有数据的存储模型,该模型接受各种容器容器中数据的最小值

演示:
在这里插入图片描述

容器间的运算操作

运算符功能适用范围例子
+将两个容器合并放入一个容器列表之间或者元组之间list1+list2
*将容器复制n次放入容器中列表、元组list*n
in判断容器中是否包含数据列表、元组、集合、字典(字典判断数据是否在keys()中)data int list
not in判断容器中是否不包含数据列表、元组、集合、字典(字典判断数据是否在keys()中)data not in list
>、>=、==、<=、<比较两个容器中的数据关系列表、元组、集合list1<=list2

演示:
在这里插入图片描述

切片

  1. 作用:获取列表、元组或字符串中的局部数据
  2. 语法
容器对象[开始索引:结束索引:步长]
# 省略开始索引,默认开始索引为0
eg:list[:3:1]相当于list[0:3:1]
# 省略结束索引:默认结束索引为数据总量
eg:list[0::1]相当于list[0:len(list):1]
# 省略步长:默认每次递增索引数为1
eg:list[0:3:]相当于list[0:3:1]
# 负数步长:反向操作,需要开始索引、结束索引逆序输入
eg:list[5:0:-1]
# 其他格式
eg:list[:5:] # 获取索引5之前的数据(不含5)
eg:list[4::] #获取索引4之后的数据(含4)

演示:
在这里插入图片描述

推导式

  1. 作用:可以快速生成数据存储结构中的数据
  2. 语法
# 格式一
循环变量 for 循环
# 格式二
表达式 for 循环
# 格式三
表达式 for 循环 if 判断

演示:
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的小强呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值