day06:
1、值拷贝
浅拷贝、深拷贝:(面试会问)
拷贝:对值进行复制的过程
ls2=ls1:属于值拷贝
浅拷贝:ls3=ls1.copy():新开辟列表空间,列表中的地址都是从ls中拿来。
深拷贝:deecopy():新开辟列表空间,ls列表中的不可变 类型的地址直接拿过来,但是可变类型的地址一定重新开辟。
2、元组tuple:主要用来取值的!可以理解为不可变列表。
元组内部可以存放所有类型数据,
1、元组可以存放多个值、值可以为任意类型
2、值可以重复、且有序存储
常规操作:索引取值,
运算(拼接):
长度:len():
切片:[ : : ]
成员运算:in
循环:for
常用方法:
count()
index()
3、字典dict:增删改查
容器/集合:存放多个值的变量
单列容器:list、tuple
双列容器(map):只有dict字典,存储数据,成对 出现,dict存放数据采用key——value键值方式
字典中的key可以为什么类型:key是取value的唯一 依据,key一旦被确定,就需要唯一确定(不能被改变)
字典中value可以为什么类型:所有类型数据。
key要确保唯一性,不可以重复。重复就会覆盖之前。
字典dict为可变类型!
常用方法:
创建有多个key、值的方式:fromkeys:
dic={}.fromkeys("key",默认值),"key"为可迭代对象
dic[key]=value:字典中有这个key则覆盖,没有则赋值。
dic.update(字典名):dic中有的覆盖修改,没有添加
dic.setdefalut(key,value):dic中有则不添加,没有则添加。
dic.clear():清空字典
dic.pop(key):删除指定key的value值,并返回删除的value值。
dic.popitem():括号内无参数,从末尾删除,返回(key,value)元组
字典的循环:
for k in dic 同 for key in dic.keys()
for v in values():v值为value值,循环的是value
for v,k in items :同时循环key、value值。需要用到解压赋值。
4、集合set:
空集合:s=set():不能用s={}!这是用来定义字典的!
set可变类型、无序、无key,导致不能取值。特点:去重
常用方法:
增:set.add("指定set中对象"):
删:ser.pop()末尾删除。
set.remove("指定对象")
set运算:
交集:&(两个都有的) 合并:| (两个的合体)
对称交集:^(去掉共有的部分的合集)差集:-(独有的部分)
比较:<:(两个集合一定是包含关系才能比较)