欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

day07-set集合,深浅拷贝,list删除,字符串join操作

程序员文章站 2022-05-27 21:55:20
list删除 为什么循环删除没有删干净呢,原因就是列表在循环遍历的时候里面相当于有个变量指针,循环第一次,这个index = 0,删除成功,然后列表中的索引为1的值就往前挪,就变成 了索引值为0的,然后index=1,跳过现在索引为0继续删除索引为1的数值。 正确删除的做法: 意思就是创建一个新列表 ......

list删除

day07-set集合,深浅拷贝,list删除,字符串join操作

为什么循环删除没有删干净呢,原因就是列表在循环遍历的时候里面相当于有个变量指针,循环第一次,这个index = 0,删除成功,然后列表中的索引为1的值就往前挪,就变成 了索引值为0的,然后index=1,跳过现在索引为0继续删除索引为1的数值。

正确删除的做法:

day07-set集合,深浅拷贝,list删除,字符串join操作

意思就是创建一个新列表来保存要删除的数据,然后遍历这个列表,把原来列表的值给删除。动的是新列表的索引值,原列表只需进行删除操作

字符串join操作

把列表编程字符串

day07-set集合,深浅拷贝,list删除,字符串join操作

将s所指向的内容迭代添加到join里面的内容里

day07-set集合,深浅拷贝,list删除,字符串join操作

字典类似join操作fromkeys()

 day07-set集合,深浅拷贝,list删除,字符串join操作

对字典使用fromkeys()发现字典的值没有发生任何变化,只是借用了,将fromkeys里面的第一个元素迭代作为新字典的key,第二个元素作为values值。

set集合基本操作

1.增

day07-set集合,深浅拷贝,list删除,字符串join操作

day07-set集合,深浅拷贝,list删除,字符串join操作

 

2.删

  day07-set集合,深浅拷贝,list删除,字符串join操作

 

3.改

  day07-set集合,深浅拷贝,list删除,字符串join操作

 

4.查

  day07-set集合,深浅拷贝,list删除,字符串join操作

深浅拷贝

  1.直接赋值.两个变量只想同一个对象.

    day07-set集合,深浅拷贝,list删除,字符串join操作

    赋值的意思就是把内存地址给另一个变量

  我自己的理解:内存中有若干个单元,有一个变量单元,用来放a,b两个变量,有个对象单元,用来存储地址里的数,a = 【1,2】相当于在对象单元中开辟一片空间,放着列表里数值, 然后这片空间有个独一无二的地址,把这个地址给变量单元中的a变量,就可以通过相应的地址来找到地址数值。


  2.浅拷贝:只拷贝第一层内容 copy()

    day07-set集合,深浅拷贝,list删除,字符串join操作

    我自己理解:相当于只拷贝最表层的内容,将第一个变量所指向的地址内容完全拷贝一份


  3.深层拷贝:对象中的所有内容都会被拷贝一份.需要导入copy模块

    day07-set集合,深浅拷贝,list删除,字符串join操作

 

 原谅我画的这么丑,赶时间写博客,若有错误,请老铁指出,感激不尽。