不可变的序列,用()来创建表示,支持下标,支持切片操作
元组的数量大小是固定的,占用空间更小所以一般用来当作记录的数据类型,比如日志文件.log
可以看到第一种定义元组的方式,他最终的数据类型数int,那么在我们定义的元组中只有一个元素时,我们需要在元素后面加上一个逗号
元组是一个不可变的有序序列,所以元组就不可以使用列表的那些append,extern,insert,pop,remove等等操作也不能进行修改操作仅可用count和index方法.
在这里可以看到元组的推导式式出现了一个生成器,如果想要看到元组本身元素的话,可以直接通过强制类型转换就好了
当元组中嵌套了列表时,我们通过索引的方式对元组里面的可变元素进行修改的,如果是对元组进行深拷贝copy.deepcopy(),那么就不能再通过索引的方式对元组的任何元素进行修改操作,因为这些可变元素类型,都会在内存中有属于自己的空间,那么深拷贝就是会给那些可变元素开辟一个新的空间进行数据存放
字典是由键(key)值(value)对组成的,类似于json数据类型,利用的效率很高,字典的键是不可以重复的,如果重复的话后面的键值对将会覆盖前面的内容,它们是一对一的映射关系,每条记录都是无序的,所以我们不可以通过索引的方式去访问字典
方法一: dict_1 = {“name”:杨戬,“age”:16}
方法二dict_2 = dict([[“name”:杨戬],[“age” : 15]])
方法三: dict_3 = dict(zip((“name”,“杨戬”),(“age” , 15)))
1,fromkeys用来列表转字典的key,这种生成的字典,它的value值是None
2.updata(传入字典)
将两个字典合并,将另一个字典的键值对依次放到字典的后面
3.利用字典[''key]=value的格式进行插入键值对,如果插入的键存在的就会更新这个键值对的value的值,当然这也是一种修改value值的方法
通过以上代码运行结果可以看出,pop()是通过字典的key值去删除指定的键值对
popitem()它是直接默认删除字典的栈顶的那个键值对
1.查找字典中的所有key值利用.keys()
2.通过key值找到对应的value值get(key)
3.获取字典里面的所有键值对items(字典)
4.获取字典里面的所有value值(字典.values())
5.清空字典所有元素
其实这里是通过.items()方法,然后把字典的每一对键值对都弄成一个元组,进而利用元组的特殊写法达到的推导式遍历的效果
元组是一个不可变的有序序列,不能对它的内部元素直接进行修改,除非元组内部元素存在可变元素,那么可以改变元组内部可变元素的子元素,然而字典和元组恰恰相反,字典是一个可变而无序的,可以对它进行一系列的增删改查的操作,但是不能通过索引的方式依次去访问字典的各个元素