pyhon 深浅拷贝 set集合 str的join操作 循环删除列表和字典内的元素

一.基础数据类型补充

1.字符串的join操作

在这里插入图片描述
结果:
李嘉诚_麻花藤_黄海峰_刘嘉玲
黄_花_大_闺_女
str.join(s):把s里的元素通过str拼接成一个字符串

2.循环删除列表和字典中的元素

直接用for循环是不能删除的
for的运行过程. 会有一个指针来记录当前循环的元素是哪一个, 一开始这个指针指向第0 个. 然后获取到第0个元素. 紧接着删除第0个. 这个时候. 原来是第一个的元素会自动的变成 第0个. 然后指针向后移动一次, 指向1元素. 这时原来的1已经变成了0, 也就不会被删除了
只有下述方法才可以
li=[11,22,33,44]
在这里插入图片描述
或者使用另外一个列表来记录你要删除的类容.然后循环新列表去删除旧列表中的元素
在这里插入图片描述

==由于删除元素会导致元素的索引改变, 所以容易出现问题. 尽量不要再循环中直接去删除元素. 可以把要删除的元素添加到另一个集合中然后再批量删除. ==

3.类型转换

元组=>列表 list(tuple)
列表=>元组 tuple(list)
列表=>字符串 str.join(list)
str=>list str.split()
转换成False的数据
0,’’,None,[],{},set()=>False

二.set集合

set集合是python的一个基本数据类型. 一般不是很常用. set中的元素是不重复的.无序的.里面的元素必须是可hash的(int, str, tuple,bool), 我们可以这样来记. set就是dict类型的数据但是不保存value, 只保存key. set也用{}表示
注意: set集合中的元素必须是可hash的, 但是set本身是不可hash得. set是可变的
set中的元素是不重复的, 且无序的.我们可以用这个特性做一些去重操作
在这里插入图片描述

set集合的增删改查

1.增加
在这里插入图片描述
2.删除
在这里插入图片描述
3.修改
在这里插入图片描述

三.深浅拷贝

在这里插入图片描述
在这里插入图片描述
对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量. 并不是复制一份内容. 所以. lst1的内存指向和lst2是一样的. lst1改变了, lst2也发生了改变
浅拷贝:
在这里插入图片描述
浅拷贝. 只会拷贝第一层. 第二层的内容不会拷贝. 所以被称为浅拷贝
深拷贝:
要用深拷贝我们需要导入一个模块 copy
import copy
在这里插入图片描述
深拷贝是把元素内部的元素完全进行拷贝复制,不会产生一个改变另一个跟着改变的问题

猜你喜欢

转载自blog.csdn.net/weixin_42723794/article/details/86477336