集合 & 深浅copy
集合:
特点:集合是可变的数据类型,但他里面的元素必须是不可变的数据类型,无序,不可重复。
创建:
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的更多相关文章
- Python 集合 深浅copy
一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...
- python集合深浅copy
一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...
- Python基础学习Day7 基础数据类型的扩展 集合 深浅copy
一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk' ...
- 知识点补充,set集合,深浅copy
一:对之前知识点的补充 1;字符串(str)中的join方法.把列表转换成字符串 2;列表list[ ]和字典dic{ }在循环过程中不能字节删除.需要把要删除的内容记录在新列表中.然后在循环新列表, ...
- python之路(集合,深浅copy,基础数据补充)
一.集合:类似列表,元组的存储数据容器,不同点是不可修改,不可重复.无序排列. 1.创建集合: (1).set1 = {'abby', 'eric'} result:{'eric', 'abby'} ...
- 003_python的str切片,str常用操作方法,for循环,集合,深浅copy
基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余 + - * / ** %... 2.bool布尔值 判断真假以及作为条件变量 3.s ...
- python基础3(元祖、字典、深浅copy、集合、文件处理)
本次内容: 元祖 字典 浅copy和深copy 集合 文件处理 1.1元祖 元祖(tuple)与列表类似,不同之处在于元祖的元素不能修改,元祖使用小括号(),列表使用方括号[].元祖创建很简单,只需要 ...
- Python 第三篇(下):collections系列、集合(set)、单双队列、深浅copy、内置函数
一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在py ...
- Python基础数据类型之集合以及其他和深浅copy
一.基础数据类型汇总补充 list 在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,, ...
随机推荐
- aiohttp文档翻译-server(一)
web server 快速入门 运行一个简单的web server 为了实现web server, 首先需要实现request handler 一个 request handler 必须是一个coro ...
- 基于Spring aop写的一个简单的耗时监控
前言:毕业后应该有一两年没有好好的更新博客了,回头看看自己这一年,似乎少了太多的沉淀了.让自己做一个爱分享的人,好的知识点拿出来和大家一起分享,一起学习. 背景: 在做项目的时候,大家肯定都遇到对一些 ...
- 严选 | Elasticsearch史上最全最常用工具清单【转】
1.题记 工欲善其事必先利其器,ELK Stack的学习和实战更是如此,特将工作中用到的“高效”工具分享给大家. 希望能借助“工具”提高开发.运维效率! 2.工具分类概览 2.1 基础类工具 1.He ...
- const的位置问题
来源:牛客网 下列哪两个是等同的 int b; 1.const int *a = &b; 2.const * int a = &b; 3.const int* const a = &a ...
- 分布式Id教程
转自:https://baijiahao.baidu.com/s?id=1584913615817222458&wfr=spider&for=pc 一,题记 所有的业务系统,都有生成I ...
- Java编程的逻辑 (93) - 函数式数据处理 (下)
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- 03Hadoop的TopN的问题
TopN的问题分为两种:一种是建是唯一的,还有是建非唯一.我们这边做的就是建是唯一的. 这里的建指得是:下面数据的第一列. 有一堆数据,想根据第一列找出里面的Top10. 如下: 关键:在map和re ...
- final可以修饰类、属性、方法。
当用final修饰类的时候,此类不可被继承,即final类没有子类.这样可以用final保证用户调用时动作的一致性,可以防止子类覆盖情况的发生. 当利用final修饰一个属性(变量)的时候,此 ...
- Python学习小组微信群公告页面
<简明 Python 教程>读经群,PDF地址:https://pan.baidu.com/s/1FK8s4cTfwWxSktOfS95ArQ,PyCharm-Edu地址:https:// ...
- 【React + flask】跨域服务及访问
Flask from flask import Flask , request from flask_cors import * import flask import json import pic ...