深浅拷贝
Posted lzqrkn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深浅拷贝相关的知识,希望对你有一定的参考价值。
- 对之前的只是进行补充
- str中的join方法,把列表转成字符串
s = ([‘高华信‘,‘刘清扬‘,‘催国章‘])
s = ?‘_‘join([‘高华信‘,‘刘清扬‘,‘催国章‘])
print(s)?
#输出? 高华新_刘清扬_崔园樟
?
??s = ([‘高华信‘,‘刘清扬‘,‘催国章‘])
s = ?‘**‘join([‘高华信‘,‘刘清扬‘,‘催国章‘])?
print(s)?
?#输出高华新**刘清扬**崔园樟 - join 也可以作为迭代的对象
s = ‘_‘join?(‘刘能‘)
print(s)?
#输出? 刘_能 - str中将字符串转换成列表 split
s= ‘asdasdasdasd‘
s1 = s.split()
print(s1)
#输出 [‘asdasdasdasd‘]? - 列表和字典在循环的时候不能直接删除,需要吧要删除的内容记录在新的列表中,然后循环新列表,删除字典或列表
lst = [‘"张国荣", ‘张铁林‘, ‘张国立‘, "张曼玉", "汪峰"‘]
new_lst = []
for el in lst:
if el.startswith?(‘张‘):
new_lst.append(‘张‘)
for el in new_lst:
lst.remove(el)
print(lst) #打印的是除了姓张之外的列表
print(new_lst)? #打印的是姓张的列表??????- 列表的删除 clear 清空列表
- 字典的删除
dic = {"提莫":"冯提莫", "发姐":"陈一发儿", "55开":"卢本伟"}
li = []
for i in dic
if i.startswith(‘提莫‘)
li.append(i)
for i in li:
dic.pop(i)
print(dic)???????? - 列表的删除
- formkeys()
- 返回新的字典,对原字典没有影响
- 后面的value,是多个key共享的一个value
- str中的join方法,把列表转成字符串
- set 集合
- 特点:无序, 不重复, 元素必须可哈希(不可变)
- 作用:去重复
- 本身是可变的数据类型. 有增删改查操作.
- 深浅拷贝
- 1. 赋值. 没有创建新对象. 公用同一个对象
- 2. 浅拷贝. 拷贝第一层内容. [:]或copy()
lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]]
lst2 = lsta[:]
print(lst2)?? - 3. 深拷贝. 拷贝所有内容. 包括内部的所有.
lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]]
?lst2 = copy.deepcopy - 引入 copy 模块
- inport copy
以上是关于深浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章