python中的元组tuple+字典dict+集合set

上一篇文章:Python中的字节bytes+列表lists

元组tuple

元组的介绍与创建

  • 元组也是序列结构,元组是一种不可变的序列结构
  • 元组的创建:用英文状态下的圆括号包裹
    在这里插入图片描述
  • 方法的创建过程tu = tuple()不传参数空列表,参数必须是iterable可迭代的,所以整数不可作为参数,整数是不可迭代的
    在这里插入图片描述
  • 创建拥有一个整数元素的元组,可以这样tu = (666,)逗号不可省略,否则就变成了一个整数int
    在这里插入图片描述

元组与列表相同的操作

  • 使用方括号加下标的方式访问元素
  • 切片(形成新的元组对象)注意切片都是左闭右开的
    在这里插入图片描述
    由于元组是不可变的序列对象,所以切片后不再是原来的那个元组,又是一个新的对象,内存地址不同
  • 元组只有tuple.count()tuple.index()这两种方法,其作用都是与列表中的一样的
  • python内置函数reversed()sorted(),这两个都不是元组的方法,不属于任何类型,是python内置的,使用后要强制性转换为元组。注意sorted()返回值是一个列表
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 加法和乘法
    在这里插入图片描述

元组中不允许的操作

  • 由于元组是不可变的序列,所以元组不能修改或新添元素,也不能删除某个元素,但可以删除整个元组
  • 实际上,元组没有任何会对内部元素发生修改动作的方法。例如,元组没有remove()append()pop()等方法

嵌套操作

无论是列表还是元组都是可以进行多重嵌套的,且使用双重或多重下标进行引用
在这里插入图片描述

  • 在元组中可以嵌套列表,元组不可改变,而元组中的列表可以改变

列表和元组的优缺点

元组所消耗的内存比较少,所以元素不变的情况下宜使用元组;当元素需要改变的情况下使用列表,或者两者相互转换来弥补彼此的不足。二者使用tuple()函数和list()函数进行互相转换

字典dict

字典的介绍

  • 在python中,如果我们想要存储某个人的信息,当然可以存储在列表当中,并且通过下标进行访问。但是如果想要存储的信息量特别庞大的时候,通过下标进行访问和查找就会相当的麻烦,消耗计算机的算力。
  • 所以python中就引入了字典这样的一个概念。比如我们生活中的新华字典,里面有很多的汉字,而我们却可以通过特殊的方法快速地查到想要的汉字。
  • python中的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快速的查取和插入速度。它是一种可变的对象,所以支持修改、插入和删除等
    操作

字典的创建

  • {key1:value1, key2:value2, ... ...}的形式创建字典
    • 前面的key可以理解为关键词,冒号后面的是数据(把这个key理解为关键词,相当于用关键词来查找数据)
    • 注意:从python3.6开始,字典对象会保持键值插入时的顺序,并且其包含的元素个数不限,数据的类型也可以是其他任何数据类型
    • 字典的key必须是不可变的对象,例如整数、字符串、bytes和元组,且元组中不可以有任何可变的元素,使用最多的还是字符串。列表、字典集合等就不可以作为key。同时,同一个字典内的key必须是唯一的,如果key在同一字典中出现了多次,那么以最后一次出现的为准。
    • 字典没有下标,用方括号加key关键词的形式查找数据
      在这里插入图片描述
      在这里插入图片描述
  • 使用dict()来创建字典,说明文档如下图
    在这里插入图片描述
    • dict(**kwargs)创建字典
      在这里插入图片描述
    • dict(mapping)使用映射的方法创建字典
      在这里插入图片描述
      在这里插入图片描述
      • zip()打包
        在这里插入图片描述

字典的访问与修改以及删除等操作

  • 访问采用方括号加key的方式进行访问
  • 修改或添加,取出重新赋值
  • dic.get(key)从字典中得到某个值,如果该字典中没有的话,则返回None
  • dic.items()获取所有的键值对,即(key:value)
  • dic.keys()获取所有的key
  • dic.values()获取所有的value
  • 删除字典元素del dic[exit_key]dic.pop(exit_key)这里的pop()必须传参数
  • 清空字典dic.clear()
  • 删除整个字典直接del
    在这里插入图片描述

集合set

集合的介绍与创建

  • 集合(set)是一个无序不重复的元素集,基本功能包括关系测试和消除重复元素。是可变的数据类型。集合数据类型的核心在于自动去重
  • 创建:集合使用大括号{}包裹元素,元素之间用英文状态下的逗号进行分隔。下图为set()的说明文档
    在这里插入图片描述
    下图为代码示范
    在这里插入图片描述

集合的相关操作

  • 添加元素用set.add(object)
    在这里插入图片描述
    TypeError: unhashable type: 'list'
  • 扩充集合当中的元素set.update()
    Update a set with the union of itself and others
    在这里插入图片描述
  • 删除元素set.remove(key)删除指定元素,set.pop()随机删除元素。集合不能通过下标取出元素,因为集合是乱序的。

总结可变类型与不可变类型

  • 可变:改变数据本身,内存地址不变。列表字典集合三者都是可变的
  • 不可变:一旦改变了数据本身,内存地址也跟着改变。数值字符串字节元组四者都是不可变的

下一篇文章

python条件控制和循环控制语句

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jackey_Song_Odd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值