基础数据类型补充和深浅拷贝
1. 基础数据类型补充
大多数的基本数据类型的知识.已经学完了
join()
"*".join("麻花藤") # 麻*花*藤 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. 得到的是字符串
split() 切割. 切割的结果是列表
s = "卢本伟_拿了_UU_一血"
lis = s.split("_")
print(lis)
s = "*".join(lis)
print(s)
列表和字典: 都不能在循环的时候直接删除
把要删除的内容记录在新列表中然后循环这个新列表. 删除列表(字典)
s = "卢本伟_拿了_UU_一血"
lis = s.split("_")
lis1 = []
for i in lis :
if "U" in i:
lis1.append(i)
print(lis1)
for i in lis1 :
lis.remove(i)
print(lis)
fromkeys()
坑1: 返回新字典. 不会更改老字典
dic = {}
dic = dic.fromkeys("卢本伟","牛逼") #fromkeys中"卢本伟"是迭代的添加到新列表中的"key"
print(dic)
坑2: 当value是可变的数据类型. 各个key共享同一个可变的数据类型. 其中一个被改变了. 其他都跟着变
dic = {}
dic = dic.fromkeys("卢本伟",[]) #当value为可变的数据类型时,新列表中的key共用一个value
dic["卢"].append("牛逼") #当任何一个key改变了value,所有的value值都会变
print(dic)
2. 深浅拷贝(重点, 难点)
1. = 没有创建新对象, 只是把内存地址进行了复制
2. 浅拷贝 lis.copy() 只拷贝第一层.
3. 深拷贝
import copy
copy.deepcopy() 会把对象内部的所有内容进行拷贝
浙公网安备 33010602011771号