元组、字典

元组的快速入门

  • 元组表现形式tuple
  • 元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表)
  • 使用()创建元素
  • 元组不是空元组至少有一个 逗号(,) 当元组不是空元组时括号可以省略
  • 元组解包指将元组当中的每一个元素都赋值给一个变量
  • 如果元组不是空的,则里面至少有一个,

元组的解包

在这里插入图片描述

可变对象

  • 可变对象指的是对象里面的value可以改变
  • 对象当中保持了三个数据
    • id(标识)
    • type(类型)
    • value(值)
  • 列表就是一个可变对象
    • a = [1,2,3]
      a[0] = 10(改对象)
      这种操作是子啊通过变量去修改对象里面的值
      这种操作不会改变所指向的值

    • a = [4,5,3]
      这种操作是在给变量重新赋值
      这种操作会改变所指向的值
      在这里插入图片描述

字典(dict)

  • 字典始于一种新的数据结构称之为映射(mapping)
  • 字典的作用和列表类似,都是用来存储对象的容器
  • 列表存储数据的性能很好,但是查询数据性能很差
  • 在字典中每一个元素都有唯一的一个名字,通过这个唯一的名字我们就可以快速找到指定的元素
  • 字典存储数据性能相对较差,但是查询数据的性能好
  • 在字典中唯一的名字称之为 键(key) 通过key可以快速查询value,所有字典我们又称之为键值(key-calue)
  • 每个字典当中可以有多个键值对,每一个键值对我们称之为一项(item)
  • 语法{key:value,key:calue…}
    在这里插入图片描述

字典的使用

  • 可以通过{}来创建字典
  • 语法{key:value,key:value…}
  • 使用函数dict()函数来创建字典
  • dict()函数也可以将一个包含有双值子序列转换为字典
    • 双值序列,序列中只有两个值例如 ‘mn’ '56’不管类型
    • 子序列 序列中的元素也是个序列,则称之为子序列例如[(‘a’,2),(3,4)]
    • 语法 d[key]可以根据字典来获取元素
  • get(key,[default])函数也可以获取字典中的值
    • 如果获取的key值不存在,会返回None
    • default也可以指定一个默认值来作为第二个参数。如果获取不到这个key,则返回默认值
  • update() 将其他字典的key-value添加到当前的字典当中
  • del 删除字典中的key-value
  • popitem() 删除字典最后的一个key-value 这个方法是有返回值的。删除之后它会将删除的key-value作为返回值返回
  • pop(key[,default]) 根据key删除自定中的value。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值
    在这里插入图片描述
    在这里插入图片描述