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

?. 基础数据类型补充

?先关于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也发?了改变

浅拷?

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

改变的问题

补充?个知识点:

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

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

时间: 2024-10-08 15:38:00

07.Pythonset集合,深浅拷?以及部分知识点补充的相关文章

7.set集合,深浅拷贝及补充

本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷?贝主要内容:?一. 基础数据类型补充?首先关于int和str在之前的学习中已经讲了了80%以上了了. 所以剩下的?自?己看?一看就可以了了.我们补充给?一个字符串串基本操作 li = ["李李嘉诚", "麻花藤", "?黄海?峰", "刘嘉玲"] s = "_".join(li) print(s) li = "?黄花?大闺?女女&q

学习笔记 07 --- JUC集合

学习笔记 07 --- JUC集合 在讲JUC集合之前我们先总结一下Java的集合框架,主要包含Collection集合和Map类.Collection集合又能够划分为LIst和Set. 1. List的实现类主要有: LinkedList, ArrayList, Vector, Stack. (01) LinkedList是双向链表实现的双端队列:它不是线程安全的.仅仅适用于单线程. (02) ArrayList是数组实现的队列,它是一个动态数组.它也不是线程安全的,仅仅适用于单线程. (03

深浅拷?

一.深浅拷? lst2 = lst1print(lst1)print(lst2)lst1.append("杨逍")print(lst1)print(lst2)结果:['??狮王', '紫衫?王', '?眉鹰王', '?翼蝠王', '杨逍']['??狮王', '紫衫?王', '?眉鹰王', '?翼蝠王', '杨逍'] dic1 = {"id": 123, "name": "谢逊"}dic2 = dic1print(dic1)pr

小数据池 集合 深浅拷贝

小数据池 集合 深浅拷贝 一.小数据池 定义:小数据池是Python中一种提高效率的方式,固定数据类型使用同一个内存地址,支持数据类型:str,int,bool是一种缓存机制,特被称为驻留机制,各大编程语言中都有类似的东西. id() ----- 查看元素的内存地址 is 与 == 的区别 is 判断两个元素的内存地址是否相等 == 判断等号左右两边的元素的值是否相等 小数据池的规则 数字:-5~256 字符串: 字符串在做乘法(乘数不为1)的时候总长度不能超过20 自己定义的字符串的长度不受限

第三方框架SDWebImage 知识点补充

1.SDWebImage相关知识点补充 01.SDWebImage接收到内存警告的时候如何处理?采用监听系统警告通知的方式处理,接收到警告后清空缓存 02.SDWebImage队列最大并发数为6 03.SDWebImage内部设置下载图片超时时间为15m 04.SDWebImage图片下载操作使用了NSURLConnection类发送网络请求实现 05.SDWebImage内部使用NSCache类来进行缓存处理 06.SDWebImage内部如何判断图片类型?判断该图片二进制数据的第一个字节 0

IE6下的怪异解析知识点补充

转载请注明出处:HTMl5自由者       IE6下的怪异解析知识点补充,布布扣,bubuko.com

面向对象:继承,知识点补充

面向对象: ? 三大特性 : 继承 封装 多态 什么是继承: 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. python中类的继承分为:单继承和多继承. ? 在开发程序的过程中,如果我们定义了一个类A,然后又想新建立另外一个类B,但是类B的大部分内容与类A的相同时,我们不可能从头开始写一个类B,这就用到了类的继承的概念. 通过继承的方式新建类B,让B继承A,B会'遗传'A的所有属性(数据属性和函数属性),实现代码重

day-3 小知识点补充 编码 集合 文件及函数初识

1. 小知识点的补充 ==数值比较 is比较两边的内存地址 id获取内存地址 小数据池str int,公用一个内存,目的节省内存空间. 要求:A. int范围是-5到256,指向一个地址空间 B. str: 1.不能含有特殊字符 2.单个元素乘以数字不能超过21 2. 编码 字符:看到内容的最小单位.比如: abc:a一个字符 中国:中 Ascii码:1个字节,字母,数字,特殊字符 Unicode:也称万国码,最开始2个字节表示一个字符,后升级到4个字节表示一个字节 Utf-8:最后用8位表示一

知识点补充 set 深浅拷贝

一 对前面知识点的补充 1.str中的join()方法是将列表转换成字符串 lst = ["韩雪","赵丽颖","黄渤","李连杰"] print("_".join(lst)) # 韩雪_赵丽颖_黄渤_李连杰 将每个元素用_进行拼接 s = "马化腾" print("-".join(s)) # 马-化-腾 2.把字符串转换成列表  用split() ss = &quo