数据结构——元组&&字典&&集合

本文详细介绍了Python中的元组、字典和集合数据结构。元组是不可变序列,适用于不可变数据;字典是映射类型,提供高效的键值对查找;集合存储不可变对象,支持多种集合运算。文章涵盖了这些数据结构的创建、遍历、操作方法以及相关概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.元组简介

  • 元组属于容器存储、不可变、顺序访问的数据类型。
  • 元组可以看作不可变序列 ,除此之外,和列表非常相似
  • 我们希望数据不改变时使用元组,其余情况下使用列表
  • ()创建元组
  • 元组不是空元组时至少有一个逗号,而且元组不为空时 “()” 可以省略
    在这里插入图片描述
  • 元组解包是指把元组中的每一个元素赋值给一个变量(在元组解包时,变量的数量必须与元组中元素一一对应,若没有对等,可以在变量前面加个* ,否则会报错。注意:*c 是所有数值,而c 则是一个列表。)
    在这里插入图片描述 在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.可变对象

  • 在Python中,数值类型(int和float)、字符串(str)、元组(tuple)都是不可变类型,而列表(list)、字典(dict)、集合(set)都是可变类型
  • Python中任何对象都有三种通用属性:唯一标识(id)、类型(type)、值(value)
  • 可变对象指的是对对象里面的value值进行改变
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.字典

3.1 字典的基本介绍

  • 字典属于一种新的数据结构为映射,也是python中唯一的映射类型

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

  • 列表存储数据性能好,但查询性能差,字典正好与之相反

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

  • 字典中唯一的名字称之为 key ,而通过key 快速查询value ,称这个value为值

  • 字典我们称之为键值对(Key:value)结构

  • 每个字典有对个键值对,每个键值对称之为项(item)

  • 语法:{key:value}

  • 字典的值可以是任意对象,而字典的键是任意不可变对象

  • 字典的键不能重复,如果重复后面的会替换前面的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    字典的使用方法:

    • 根据键来获取值
      在这里插入图片描述

    • len()获取键值对的个数,in 检查是否有指定的键
      在这里插入图片描述

    • dict.get(key[,default])方法:根据字典中的 key 找到对应的值,如果 key 不存在,则显示None
      在这里插入图片描述
      在这里插入图片描述

    • dict.setdefault(key [ ,default] )方法:字典中添加 key ,如果 key 已经存在字典中,则会返回key值,不会对字典做任何操作。如果不存在,则在字典中添加 key 并设置value
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • dict.update()将其他字典的key-value添加到当前字典中,如果有重复的值,则会被后面的值替代
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • del 删除 dict.popitem()一般都会删除最后一个,将key-value返回一个元组,第一个为key,第二个为value
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • dict.pop(key[,default])根据key删除字典中的key-value,将删除的值返回
      在这里插入图片描述
      在这里插入图片描述

    • dict.copy()复制后的对象和原对象是独立的,修改一个不会影响另外一个
      在这里插入图片描述
      在这里插入图片描述

    • 浅复制只会简单复制对象内部的值,如果值也是可变对象,则不会被复制
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 修改列表 dict [ key ] = value
      在这里插入图片描述
      在这里插入图片描述

4.遍历字典

  • keys()该方法返回字典所有的key
    在这里插入图片描述
    在这里插入图片描述
  • values()该方法返回字典的所有序列,该序列中保存有字典的值
    在这里插入图片描述
    在这里插入图片描述
  • items() 该方法返回字典的所有项 它返回一个序列(元组),该序列中包含有双值子序列 ,双值分别是 字典的key 和value
    在这里插入图片描述
    在这里插入图片描述

5.集合

5.1 集合的简介

  • 集合的特点:
  • 只能存储不可变对象
  • 存储的对象是无序的
  • 存储的元素是不能重复的
  • 集合使用{} 来创建
  • 可以通过set()将序列和字典转换成集合
  • len()可以获取集合中元素的数量
    在这里插入图片描述
  • add()向集合中添加元素
    在这里插入图片描述
  • update()将一个集合中的元素添加到另一个集合中
    在这里插入图片描述
  • pop()随机删除一个元素,并将删除的元素返回
    在这里插入图片描述
  • remove()删除指定的元素,没有返回值
    在这里插入图片描述
  • clear()清楚集合中的所有元素
    在这里插入图片描述

5.2 集合的运算

  • 交集运算 &
    在这里插入图片描述
  • 并集运算 |
    在这里插入图片描述
  • 差集 - (从自身的集合中去掉交集的部分,但是a-b和b-a不同)
    在这里插入图片描述
  • 亦或集 ^
    在这里插入图片描述
  • <= 检查一个集合是否是另一个集合的子集
    在这里插入图片描述
  • < 检查一个集合是否是另一个集合的真字集
    在这里插入图片描述
  • “>=” 检查一个集合是否是另一个集合的超集
    在这里插入图片描述
  • “>” 检查一个集合是否是另一个集合的真超集
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值