深浅拷贝及 join set

1.join 

s="**".join (['风清扬',"独孤求败"] )       join  把里面的东西拿出来,进行拼接

s="_".join(["风清扬","独孤求败"])
print(s) #风清扬_独孤求败

#字符串转换成列表  split()   #列表转换成字符串  join ()

2.清空后面字符串

lst=["123466"]

clear [lst]

或者

for el in lst

lst.remove(el)  但是会发现这样删除还会有元素被保留,因为是按索引删除的 从0开始,而一旦删除一个数就会消失,可是索引还是会继续,所以就会有遗漏

正确方法

lst1=[]
lst=["紫云","云烟","预习"]
for i in lst:
    # lst.remove(i)
    # print(lst)
    lst1.append(i)
for i in lst1:
    lst.remove(i)
print(lst)

通过新建一个列表,通过删除他的位置而你要删除的不会变所以会全部被删除

3.字典

dic = {"提莫":"冯提莫", "发姐":"陈一发儿", "55开":"卢本伟"}
# dic.clear()
# print(dic)
# lst=[]
# for i in dic:
#     lst.append(i)
# for i in lst:
#     dic.pop(i)
# print(dic)

也和列表一样 不可以直接在循环的时候删除,需要重新定义一个新的变量

4.fromkeys

ret=dict.fromkeys("abc","哈哈")     其中dict 类名直接 与字典无关

ret=dict.fromkeys("abc","哈哈")
print(ret)

 

 

 5.set   集合

最大的作用就是去重复

st = [11,5,4,1,2,5,4,1,25,2,1,4,5,5]
s=set(st)
st=list(s)
print(st)

#先转换成set集合去掉重复

最后在转换成列表输出

6.浅拷贝

 

lst2=lst1[ : ]或 lst2=lst.copy() 只是复制的皮毛 第一层内容 真正的地址复制不了

 1. 赋值操作. 没有创建新对象
# 2. 浅拷贝. 只拷贝第一层内容. [:] copy()
# 3. 深拷贝. 把这个对象内部的内容全部拷贝一份. 引入copy模块. deepcopy()

 

posted @ 2018-08-03 16:52  逆欢  阅读(165)  评论(0)    收藏  举报