python学习(七) 之 元组&字典

1. 元组简介

元组基本介绍

  • 元组表现形式tuple
  • 元组是一个不可变序列
  • 什么时候用列表?什么时候用元组?
    一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表
  • 使用()创建元素
  • 元组不是空元组至少有一个逗号(,)当元组不是空元组时,括号可以省略
  • 元组解包就是指,将元组当中的每一个元素都赋值给一个变量
    赋值
    总结:在元组解包时,变量的数值必须和元组中的元素要一一对应 如果出现变量和元素没有对等的情况下,我们可以在变量前面加个 * ,这样变量就会将获取元组中所有剩余的元素以列表形式返回

2. 可变对象

可变对象,只的是我们可以对对象里面的value进行改变
Python中,数值类型(int和float)、字符串(str)、元组(tuple)都是不可变类型。列表(list)、字典(dict)、集合(set)是可变类型
可变对象中都保存了三个数据

  • id(标识)
  • type(类型)
  • value(值)
    在这里插入图片描述

3. 字典简介

3.1 字典的基本介绍
  • 字典属于一种新的数据结构称为映射(mapping)

  • 字典的作用和列表类似,都是用来存储对象的容器

  • 列表存储数据的性能好,但是查询数据的性能差,字典正好阈值相反

  • 在字典中每一个元素都有唯一的名字,通过这个唯一的名字可以找到指定的元素

  • 这个唯一的名字我们称之为key 通过key可以快速查询value 也可以称之为

  • 字典我们也称之为键值对(key-value)结构

  • 每个字典中都可以有多个键值对,而每一个键值对我们称之为一项(item)

  • 创建一个数据的字典 语法{key:value}

  • 字典的值可以是任意对象 字典的键(key)可以是任意的不可变对象(int str bool tuple…)

  • 字典的键(key)是不能重复的,如果出现重复的后面的会替换前面的

3.2 字典的使用
  • 可以通过dict()函数来创建字典
    dict
  • 双值子序列
    • 双值序列 序列中只有两个值,(“x",1),“ab”,[5,6]
    • 子序列 如果序列中元素也是序列 那么我们就称这个元素为子序列 [ (4,5),(6,7)]
  • len() 函数可以获取字典中键值对的个数
  • in 和 not in
    • in 检查字典中是否包含指定的键
    • not in 检查字典中 是否不包含指定的键
  • 获取字典中的值 根据键(key)来获取

    • 语法: d.[ “name”]
      在这里插入图片描述
  • get(key[,default])该方法可以根据字典中的key来获取值 , 如果获取字典中的键不存在 就会返回 None , 也可以指定一个默认值来作为第二个参数 这样获取不到值的时候返回默认值
    在这里插入图片描述

  • 修改字典

    • dict[ key ] = value
      添加
    • d.setdefault(“key”,“value”) 在字典中添加key-value
      • 如果key已经存在到字典当中,则返回key的值 不会对字典做任何操作
      • 如果key不存在,则向字典中添加这个key 并设置value 添加
  • update( ) 将其他字典中的key-value添加到当前的字典当中

    • 如果有重复的key 则后面的会替换到当前的
  • del d[“a”] 删除字典中的key-value
    del

  • popitem( ) 一般都会删除最后一个

    • 删除之后他将key-value作为返回值返回
    • 返回的是一个元组 元组中有2个元素 第一个元素是key 第二个元素是value在这里插入图片描述
  • pop(key[,default]) 根据key删除字典中的key-value 。 第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值
    pop

3.3 copy()浅复制

copy()方法用来对字典进行浅复制
注意:浅复制只会复制字典本身,如果字典中还有个字典是不会进行复制的
复制后的对象和原对象是独立的,修改一个不会影响另一个
浅复制会简单复制对象内部对象的值,如果值也是个可变对象,这个可变对象不会被复制
在这里插入图片描述

4. 遍历字典

我们主要可以通过3中方式对字典进行遍历

  • keys() 该方法返回的是字典所有的key
    在这里插入图片描述
  • values() 返回一个序列,该序列中保存有字典的值
  • items() 返回字典所有的项 它返回的是一个序列 序列包含的是双值子序列
    双值分别是 字典中的key和value
    字典
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值