编程路-基础提升-第五周-01
字典与集合
字典和集合也是一种存储数据的方式,字典尤其独特的存储、调用程序。
- 字典的应用场景
存储一个数据的属性 可以快速找到需要的数据
- 创建字典的语法{ key:value , key1:value1 }符号以大括号表示
- 定义一个有数据的字典 value 可以是任何数据类型 key的值必须是不可变类型
- 数据是以键值对出现的,键值中间用冒号连接
- 创建一个空的字典 ={}
- 字典的常规操作
字典没有索引 无序的 key不能重复的
- 增加 变量['key'] = value 没有要增加的新key,搜索就增加 key value
- 修改 变量['key'] = value 当key重复的时候,后面进来的数据会覆盖前面的数据 有key,搜索就修改了
- update 更新 相当于列表的extend 有key就更新 没有有key就增加
- fromkeys()重构字典 重构字典类型,把输入的第一个变量作为字典的key,第二个变量作为value
- 删除
- del 删除字典 不是函数 直接对变量删除,无定义了 也可以对变量中的一个内容删除
- clear 清空字典 是函数 变量的类型保留,内容删除
- pop 删除变量并返回字典的值
- .popitem() # 删除最后一个变量
- 查看字典数据
- key 直接对值进行搜索 变量['key'] 这是一个序列
- keys 返回列表中的所有key 变量.keys() .keys() []可以继续取值 如果想对里面的值操作,不能再取值操作,会报错 要强行转化字典的类型才能操作,例如用list或者tuple,再对其中的值进行操作
- values 对所有的值获取变量 .values()
- items 将字典所有的值按顺序输出 变量.items()
- .get()找到了就返回对于的value,没有就返回后面的数据,默认是None
- .setdefault()找到了就返回对于的value,没有找到,将内容加入到字典中
- 字典的循环遍历
编程时:要从大框架开始,从输入到输出,从大到小,从粗到详细,从外到内,一步一步添加,一步一步试。
- keys及values 对字典的keys或者values 中的序列进行取值,可以简单的循环打印
- items
- 常规取值
用循环将值取出,当对items操作就复杂一些了,以键值对的形式出现,也可以继续对键值对取值,因为此刻是元组的形式,可以分别去元组的各个值 - 拆包写法 print(key, value) 压缩解包
压缩 压缩数据到一个变量里面 以元组的方式存储,解包 把压缩的数据分开提取出来,拆包就算对序列进行拆分,就是根据变量值的属性,分别给类型赋予名字,并在拆开分类
- 常规取值
- 创建集合 set
- 特点:无序 不重复 集合{数据1,数据2,数据3... }的特点
- 集合和字典都是{},如果建立空集合,会被认为是字典类型
- 空集合方式
- {}里加内容用,隔开,就是集合形式,例如{2,}
- 另一种是用set()的方式变为集合类型 但是这个针对的是空集合
- 空数据方式
- 用符号表示 '' [] {} ()
- 用函数表示 str() list() dict() tuple()
- 另外如果set()里面加内容会报错
- 空集合方式
- 集合的常规操作
- in 查找 not in
- 增加
- add 添加的数据必须是一个不可变类型
- 重复已有的 数据,就不会再添加了
- 字符串,浮点型,元组都可以添加进去,因为都是不可变类型
- 列表是可变类型,不能添加到集合中
- 字典型也是可变型,不能添加到集合中而且添加进集合的数据也是乱序的
- update 拆包 跟着序列
添加序列 和原数据合并,但是要注意要加[ ],组成序列才被认可
- add 添加的数据必须是一个不可变类型
- 删除
- remove()
有这个key是删除,没有就报错 - discard()
如果有删除 ,没有就跳过
- remove()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具