首页 > 编程语言 >编程路-基础提升-第五周-01

编程路-基础提升-第五周-01

时间:2022-12-03 17:33:06浏览次数:35  
标签:01 变量 编程 value 第五 key 集合 数据 字典

字典与集合

字典和集合也是一种存储数据的方式,字典尤其独特的存储、调用程序。

  • 字典的应用场景

存储一个数据的属性 可以快速找到需要的数据

  • 创建字典的语法{ key:value , key1:value1 }符号以大括号表示
  1. 定义一个有数据的字典 value 可以是任何数据类型 key的值必须是不可变类型 
  2. 数据是以键值对出现的,键值中间用冒号连接
  3. 创建一个空的字典 ={}
  • 字典的常规操作

字典没有索引 无序的 key不能重复的

  1. 增加   变量['key'] = value  没有要增加的新key,搜索就增加 key value
  2. 修改  变量['key'] = value   当key重复的时候,后面进来的数据会覆盖前面的数据 有key,搜索就修改了
  3. update 更新  相当于列表的extend  有key就更新  没有有key就增加
  4. fromkeys()重构字典  重构字典类型,把输入的第一个变量作为字典的key,第二个变量作为value
  5. 删除 
    1. del 删除字典  不是函数  直接对变量删除,无定义了  也可以对变量中的一个内容删除
    2. clear 清空字典  是函数  变量的类型保留,内容删除
    3. pop 删除变量并返回字典的值
    4. .popitem() # 删除最后一个变量
  6. 查看字典数据
    1. key 直接对值进行搜索 变量['key']  这是一个序列
    2. keys 返回列表中的所有key  变量.keys()  .keys() []可以继续取值   如果想对里面的值操作,不能再取值操作,会报错   要强行转化字典的类型才能操作,例如用list或者tuple,再对其中的值进行操作
    3. values 对所有的值获取变量 .values() 
    4. items 将字典所有的值按顺序输出 变量.items() 
    5. .get()找到了就返回对于的value,没有就返回后面的数据,默认是None
    6. .setdefault()找到了就返回对于的value,没有找到,将内容加入到字典中
  • 字典的循环遍历

编程时:要从大框架开始,从输入到输出,从大到小,从粗到详细,从外到内,一步一步添加,一步一步试。

  1. keys及values 对字典的keys或者values 中的序列进行取值,可以简单的循环打印
  2. items
    1. 常规取值
      用循环将值取出,当对items操作就复杂一些了,以键值对的形式出现,也可以继续对键值对取值,因为此刻是元组的形式,可以分别去元组的各个值
    2. 拆包写法 print(key, value) 压缩解包
      压缩 压缩数据到一个变量里面 以元组的方式存储,解包 把压缩的数据分开提取出来,拆包就算对序列进行拆分,就是根据变量值的属性,分别给类型赋予名字,并在拆开分类
  • 创建集合 set
  1. 特点:无序 不重复 集合{数据1,数据2,数据3... }的特点
  2. 集合和字典都是{},如果建立空集合,会被认为是字典类型
    1. 空集合方式
      1.  {}里加内容用,隔开,就是集合形式,例如{2,}
      2.  另一种是用set()的方式变为集合类型 但是这个针对的是空集合
    2. 空数据方式
      1. 用符号表示 '' [] {} () 
      2.  用函数表示 str() list() dict() tuple() 
    3. 另外如果set()里面加内容会报错
  • 集合的常规操作
  1. in 查找 not in
  2. 增加 
    1. add 添加的数据必须是一个不可变类型
      1.  重复已有的 数据,就不会再添加了
      2. 字符串,浮点型,元组都可以添加进去,因为都是不可变类型
      3. 列表是可变类型,不能添加到集合中
      4. 字典型也是可变型,不能添加到集合中而且添加进集合的数据也是乱序的
    2. update 拆包 跟着序列
      添加序列 和原数据合并,但是要注意要加[ ],组成序列才被认可
  3. 删除
    1. remove()
      有这个key是删除,没有就报错
    2. discard()
      如果有删除 ,没有就跳过

标签:01,变量,编程,value,第五,key,集合,数据,字典
From: https://www.cnblogs.com/qipaxiaopao/p/16948302.html

相关文章

  • unix网络编程2.5——高并发服务器(五)epoll进阶篇——基于epoll实现reactor
    目录系列文章unix网络编程1.1——TCP协议详解(一)unix网络编程2.1——高并发服务器(一)基础——io与文件描述符、socket编程与单进程服务端客户端实现unix网络编程2.2——高并......
  • 踏上编程之路
        我是一名刚刚步入大学生活的小白,大学生活与高中生活的差异令我一时难以适应。填志愿时懵懵懂懂地选择了计算机科学与技术,我对这门专业没有基础,没有了解,就这样踏......
  • java基础-01
    一、Hello,world首先创建java文件,文件名字为Hello.java,代码如下。然后使用javac编译Hello.java。当编译完成之后,生成一个Hello.class。这个时候javaHello.javapubl......
  • C# 反射编程 接口如何寻找父接口
    最近用反射,想找到一个接口的父接口,发现baseType是null。但是dotpeek反射里面显示是有baseType的。搜了一下,意识到你只能implement一个接口,而不能inherit一个接口。所以......
  • Ynoi2011题解
    d1t1初始化题意一个长度为\(n\)的序列,\(q\)次操作。询问\([l,r]\)的区间和。将所有\(\bmodx=y\)的下标位置加\(z\)。\(n,q\leq2\times10^5\)。题解......
  • 代码随想录训练营第五十二天 | 动态规划
    今天是第五十二天,依旧是动态规划专题  300.最长递增子序列 classSolution{publicintlengthOfLIS(int[]nums){int[]dp=newint[nums.le......
  • paper - 2015 - Evaluation of Visual Parameters in Volumetric Path Tracing(1)
    paper-2015-EvaluationofVisualParametersinVolumetricPathTracing(1)Skånberg,R.,utfört,E.,Jönsson,H.D.,&Ropinski,E.T.(2015).Evaluationof......
  • 西门子S7-200PLC工具软件,包含200系列编程软件、PPI驱动、密码识别工具
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【0026】即可获取下载链接。......
  • Audition CC2015下载
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【0015】即可获取下载链接。......
  • 2019SQLExpress数据库下载
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【0005】即可获取下载链接。......