day07-set集合,深浅拷贝,list删除,字符串join操作
程序员文章站
2022-05-27 21:55:20
list删除 为什么循环删除没有删干净呢,原因就是列表在循环遍历的时候里面相当于有个变量指针,循环第一次,这个index = 0,删除成功,然后列表中的索引为1的值就往前挪,就变成 了索引值为0的,然后index=1,跳过现在索引为0继续删除索引为1的数值。 正确删除的做法: 意思就是创建一个新列表 ......
list删除
为什么循环删除没有删干净呢,原因就是列表在循环遍历的时候里面相当于有个变量指针,循环第一次,这个index = 0,删除成功,然后列表中的索引为1的值就往前挪,就变成 了索引值为0的,然后index=1,跳过现在索引为0继续删除索引为1的数值。
正确删除的做法:
意思就是创建一个新列表来保存要删除的数据,然后遍历这个列表,把原来列表的值给删除。动的是新列表的索引值,原列表只需进行删除操作
字符串join操作
把列表编程字符串
将s所指向的内容迭代添加到join里面的内容里
字典类似join操作fromkeys()
对字典使用fromkeys()发现字典的值没有发生任何变化,只是借用了,将fromkeys里面的第一个元素迭代作为新字典的key,第二个元素作为values值。
set集合基本操作
1.增
2.删
3.改
4.查
深浅拷贝
1.直接赋值.两个变量只想同一个对象.
赋值的意思就是把内存地址给另一个变量
我自己的理解:内存中有若干个单元,有一个变量单元,用来放a,b两个变量,有个对象单元,用来存储地址里的数,a = 【1,2】相当于在对象单元中开辟一片空间,放着列表里数值, 然后这片空间有个独一无二的地址,把这个地址给变量单元中的a变量,就可以通过相应的地址来找到地址数值。
2.浅拷贝:只拷贝第一层内容 copy()
我自己理解:相当于只拷贝最表层的内容,将第一个变量所指向的地址内容完全拷贝一份
3.深层拷贝:对象中的所有内容都会被拷贝一份.需要导入copy模块
原谅我画的这么丑,赶时间写博客,若有错误,请老铁指出,感激不尽。