集合:

特点:集合是可变的数据类型,但他里面的元素必须是不可变的数据类型,无序,不可重复。

创建:

set1 = set({1,2,3})
或者直接创建set2 = {1,2,3}

集合的增删查:

增:
add set1.add('女生')
update set1.update('abc') #迭代,类似于列表的extend
删:
pop set1.pop() #随机删除,有返回值返回的是删除的元素
remove set1.remove('2') #按元素删除
clear set1.clear() #清空集合,结果为:set()表示空集合
del del set1 #删除整个集合
查:
for i in set1:
print(i)

集合运算:

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
交集:set3 = set1 & set2 print(ste3) #结果为{4,5}
或者ste1.intersection(set2)
并集:set3 = set1 | set2 print(set3) #结果为{1,2,3,4,5,6,7,8}
或者set1.union(set2)
反交集:set3 = set1 ^ set2 print(ste3) #结果为{1,2,3,6,7,8}
或者set1.synetric_difference(set2)
差集:set3 = set1 - set2 print(ste3) #结果为{1,2,3}set1独有的
set3 = set2 - set1 print(ste3) #结果为{6,7,8}set2独有的
或者set1.different(set2)

子集与超集:

子集:
set1 = {1,2,3}
set2 = {1,2,3,4,5}
print(set1 < set2) #这两个相同,都说明set1是set2的子集
或者print(set1.issubset(set2)) 超集:
set1 = {1,2,3}
set2 = {1,2,3,4,5}
print(set2 > set1)           #这两个相同,都说明set2是set1的超集
或者print(set2.issubset(set1))

去除列表中重复的元素:

li = [1,2,3,4,5,5,5,6]
set1 = set(li)           #先把列表转化为集合
li = list(set1)            #再把集合转化为列表
print(li)

frozenset

set是可变数据类型,把set变为不可变数据类型用frozenset
s = frozenset('barry')
print(s,type(s))
可循环打印:
for i in s:
print(i)

深浅copy:
浅copy:对浅copy来说,只是在内存中重新创建了开辟了一个空间存放一个新列表,但是新列表中的元素与源列表中的元素是公用的。
深拷贝deepcopy:对深拷贝来说,列表是内存中重新创建的,列表中的可变数据类型是重新创建的,列表中的不可变数据类型是公用的。

集合 & 深浅copy的更多相关文章

  1. Python 集合 深浅copy

    一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...

  2. python集合深浅copy

    一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...

  3. Python基础学习Day7 基础数据类型的扩展 集合 深浅copy

    一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk' ...

  4. 知识点补充,set集合,深浅copy

    一:对之前知识点的补充 1;字符串(str)中的join方法.把列表转换成字符串 2;列表list[ ]和字典dic{ }在循环过程中不能字节删除.需要把要删除的内容记录在新列表中.然后在循环新列表, ...

  5. python之路(集合,深浅copy,基础数据补充)

    一.集合:类似列表,元组的存储数据容器,不同点是不可修改,不可重复.无序排列. 1.创建集合: (1).set1 = {'abby', 'eric'} result:{'eric', 'abby'} ...

  6. 003_python的str切片,str常用操作方法,for循环,集合,深浅copy

    基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余  + - * / ** %... 2.bool布尔值 判断真假以及作为条件变量 3.s ...

  7. python基础3(元祖、字典、深浅copy、集合、文件处理)

    本次内容: 元祖 字典 浅copy和深copy 集合 文件处理 1.1元祖 元祖(tuple)与列表类似,不同之处在于元祖的元素不能修改,元祖使用小括号(),列表使用方括号[].元祖创建很简单,只需要 ...

  8. Python 第三篇(下):collections系列、集合(set)、单双队列、深浅copy、内置函数

     一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在py ...

  9. Python基础数据类型之集合以及其他和深浅copy

    一.基础数据类型汇总补充 list  在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,, ...

随机推荐

  1. python--第八天总结

    一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 class Foo(object): pass obj = Foo() isinstance(obj, Foo) ...

  2. 【转载 Hadoop&Spark 动手实践 2】Hadoop2.7.3 HDFS理论与动手实践

    简介 HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.是根据google发表的论文翻版的.论文为GFS(Google File System)Go ...

  3. [C++]“error C2712: 无法在要求对象展开的函数中使用__try”解决方案

    https://blog.csdn.net/shiqw5696/article/details/80664749 前段时间写了一篇关于C++异常捕获及异常处理的文章:c++异常捕获及异常处理try-t ...

  4. sping加载bean都发生了些什么

    问题描述:使用@Autowired注入的类,没有实例化 //Controller @RequestMapping(value="/deepblue") @Controller pu ...

  5. vue实例-转载

    http://blog.csdn.net/yuanyuanispeak/article/details/73526795

  6. OpenCV + python 实现人脸检测(基于照片和视频进行检测)

    OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...

  7. 解决MAMP启动mysql服务 但是Navicat连接不上

    问题重现 错误信息 2003 - Can't connect to MySQL server on '127.0.0.1' (61 "Connection refused") 解决 ...

  8. python内建时间模块 time和datetime

    时间模块 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylight Saving Time)即夏令时. ...

  9. opencv利用直方图判断人脸光照质量

    懒得用中文再写一遍了, 直接传送门过去吧. https://medium.com/@fanzongshaoxing/detect-face-in-bad-lighting-condition-usin ...

  10. ios原生项目内嵌u3d工程

    本文一反常态,目标是把u3d工程以framewWork形式 内嵌原生IOS项目 1.xcode中新建Cocoa Touch FrameWork.取名u3dFrameWork 2.把u3d导出的xcod ...