码迷,mamicode.com
首页 > 编程语言 > 详细

07.Pythonset集合,深浅拷?以及部分知识点补充

时间:2020-01-09 01:27:45      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:批量   注意   src   怎么   删除元素   mic   查询   问题   必须   

?. 基础数据类型补充

?先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的??看?看就可以了.

我们补充给?个字符串基本操作

技术图片

列表:

循环删除列表中的每?个元素

技术图片

分析原因:

for的运?过程. 会有?个指针来记录当前循环的元素是哪?个, ?开始这个指针指向第0

个. 然后获取到第0个元素. 紧接着删除第0个. 这个时候. 原来是第?个的元素会?动的变成

第0个. 然后指针向后移动?次, 指向1元素. 这时原来的1已经变成了0, 也就不会被删除了.

?pop删除试试看:

技术图片

 

 技术图片

经过分析发现. 循环删除都不?. 不论是?del还是?remove. 都不能实现. 那么pop呢?

技术图片

只有这样才是可以的:

技术图片

或者. ?另?个列表来记录你要删除的内容. 然后循环删除

技术图片

注意: 由于删除元素会导致元素的索引改变, 所以容易出现问题. 尽量不要再循环中直接去删

除元素. 可以把要删除的元素添加到另?个集合中然后再批量删除.

dict中的fromkey(),可以帮我们通过list来创建?个dict

技术图片

前?列表中的每?项都会作为key, 后?列表中的内容作为value. ?成dict

好了. 注意:

技术图片

代码中只是更改了jay那个列表. 但是由于jay和JJ?的是同?个列表. 所以. 前?那个改了. 后

?那个也会跟着改

dict中的元素在迭代过程中是不允许进?删除的

技术图片

那怎么办呢? 把要删除的元素暂时先保存在?个list中, 然后循环list, 再删除

技术图片

类型转换:

元组 => 列表 list(tuple)

列表 => 元组 tuple(list)

list=>str 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来去掉重复

技术图片

set集合增删改查

1. 增加

技术图片

2. 删除

技术图片

3. 修改

技术图片

4. 查询

技术图片

5. 常?操作

技术图片

 技术图片

 

 技术图片

set集合本?是可以发?改变的. 是不可hash的. 我们可以使?frozenset来保存数据.

frozenset是不可变的. 也就是?个可哈希的数据类型

技术图片

这个不是很常?. 了解?下就可以了

三. 深浅拷?

技术图片

 技术图片

对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量. 并不是复制?份内容. 所以.

lst1的内存指向和lst2是?样的. lst1改变了, lst2也发?了改变

浅拷?

技术图片

 

 技术图片

 

 技术图片

都不?样了. 深度拷?. 把元素内部的元素完全进?拷?复制. 不会产??个改变另?个跟着

改变的问题

补充?个知识点:

最后我们来看?个?试题:

技术图片

 

07.Pythonset集合,深浅拷?以及部分知识点补充

标签:批量   注意   src   怎么   删除元素   mic   查询   问题   必须   

原文地址:https://www.cnblogs.com/xuweng/p/12169304.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!