基础数据类型补充和深浅拷贝

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() 会把对象内部的所有内容进行拷贝

posted on 2018-12-04 15:24  哎呀!土豆  阅读(111)  评论(0编辑  收藏  举报

导航