python基础+元组与字典的详细讲解

元组

一.概念:

不可变的序列,用()来创建表示,支持下标,支持切片操作
元组的数量大小是固定的,占用空间更小所以一般用来当作记录的数据类型,比如日志文件.log

二.元组的定义

在这里插入图片描述
可以看到第一种定义元组的方式,他最终的数据类型数int,那么在我们定义的元组中只有一个元素时,我们需要在元素后面加上一个逗号
在这里插入图片描述

1.元组的特殊定义写法

在这里插入图片描述

2.元组的扩容和拷贝

在这里插入图片描述

3.列表与元组的区别

元组是一个不可变的有序序列,所以元组就不可以使用列表的那些append,extern,insert,pop,remove等等操作也不能进行修改操作仅可用count和index方法.

4.元组的切片

在这里插入图片描述
这个跟列表是一样的

5.元组推导式

在这里插入图片描述
在这里可以看到元组的推导式式出现了一个生成器,如果想要看到元组本身元素的话,可以直接通过强制类型转换就好了

三.元组关于内存的问题

在这里插入图片描述

当元组中嵌套了列表时,我们通过索引的方式对元组里面的可变元素进行修改的,如果是对元组进行深拷贝copy.deepcopy(),那么就不能再通过索引的方式对元组的任何元素进行修改操作,因为这些可变元素类型,都会在内存中有属于自己的空间,那么深拷贝就是会给那些可变元素开辟一个新的空间进行数据存放

字典

一.字典的定义

字典是由键(key)值(value)对组成的,类似于json数据类型,利用的效率很高,字典的键是不可以重复的,如果重复的话后面的键值对将会覆盖前面的内容,它们是一对一的映射关系,每条记录都是无序的,所以我们不可以通过索引的方式去访问字典

二.字典的创建

方法一: dict_1 = {“name”:杨戬,“age”:16}
方法二dict_2 = dict([[“name”:杨戬],[“age” : 15]])
方法三: dict_3 = dict(zip((“name”,“杨戬”),(“age” , 15)))

三.字典的增删改查

1.增和改

1,fromkeys用来列表转字典的key,这种生成的字典,它的value值是None
在这里插入图片描述
2.updata(传入字典)
将两个字典合并,将另一个字典的键值对依次放到字典的后面
在这里插入图片描述
3.利用字典[''key]=value的格式进行插入键值对,如果插入的键存在的就会更新这个键值对的value的值,当然这也是一种修改value值的方法
在这里插入图片描述

2.字典的删除操作

有pop(key)和popitem()
在这里插入图片描述

通过以上代码运行结果可以看出,pop()是通过字典的key值去删除指定的键值对
popitem()它是直接默认删除字典的栈顶的那个键值对

3.字典的查找操作

1.查找字典中的所有key值利用.keys()

在这里插入图片描述
2.通过key值找到对应的value值get(key)
在这里插入图片描述
3.获取字典里面的所有键值对items(字典)
在这里插入图片描述
4.获取字典里面的所有value值(字典.values())
在这里插入图片描述
5.清空字典所有元素
在这里插入图片描述

四.字典推导式

在这里插入图片描述
其实这里是通过.items()方法,然后把字典的每一对键值对都弄成一个元组,进而利用元组的特殊写法达到的推导式遍历的效果

五.总结

元组是一个不可变的有序序列,不能对它的内部元素直接进行修改,除非元组内部元素存在可变元素,那么可以改变元组内部可变元素的子元素,然而字典和元组恰恰相反,字典是一个可变而无序的,可以对它进行一系列的增删改查的操作,但是不能通过索引的方式依次去访问字典的各个元素

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Transcend oneself

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

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

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

打赏作者

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

抵扣说明:

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

余额充值