python学习之集合
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者
set(value)
1、add(增加元素)
name = set(['Tom','Lucy','Ben'])
name.add('Juny')
print(name) #输出:{'Lucy', 'Juny', 'Ben', 'Tom'}
2、clear(清空所有元素)
name = set(['Tom','Lucy','Ben'])
name.clear()
print(name) #输出:set()
3、copy(拷贝set集合)
name = set(['Tom','Lucy','Ben'])
new_name = name.copy()
print(new_name) #输出:{'Tom', 'Lucy', 'Ben'}
4、difference(返回两个或多个集合中不同的元素,并生成新的集合)
A = set([,,,])
B = set([,])
C = set([])
n = A.difference(B,C)
print(n) #输出:{}
#返回A集合里面,在B和C集合中没有的元素,并生成新的集合
5、difference_update(删除A集合里面,在B集合中存在的元素。)
A = set([,,,])
B = set([,])
A.difference_update(B)
print(A) #输出:{, }
6、discard(移除元素,如果元素不存在不报错)
n = set([,,])
n.discard()
print(n) #输出:{, }
7、intersection(取交集,并生成新的集合)
n1 = set([,,,])
n2 = set([,,,])
n = n1.intersection(n2)
print(n) #输出:{, }
8、intersection_update(取交集,修改原来的集合)
n1 = set([,,,])
n2 = set([,,,])
n1.intersection_update(n2)
print(n1) #输出:{, }
9、isdisjoint(判断交集,是返回False,否返回True)
n1 = set([,,,])
n2 = set([,,,])
print(n1.isdisjoint(n2)) #输出:False
10、issubset(判断子集)
A = set([,])
B = set([,,,])
print(A.issubset(B)) #输出:True
#A是B的子集
11、issuperset(判断父集)
A = set([,])
B = set([,,,])
print(B.issuperset(A)) # 输出:True
#B是A的父集
12、pop(随机移除一个元素)
n = set([,,,])
n1 = n.pop()
print(n,n1) # 输出:{, , }
13、remove(移除指定元素,元素不存在会报错)
n = set([,,,])
n.remove()
print(n) # 输出:{, , }
14、symmetric_difference(取交集,并生成新的集合)
A = set([,,,])
B = set([,,,])
print(A.symmetric_difference(B)) # 输出:{, , , }
15、symmetric_difference_update(取交集,改变原来的集合)
A = set([,,,])
B = set([,,,])
A.symmetric_difference_update(B)
print(A) # 输出:{, , , }
16、union(取并集,并生成新的集合)
A = set([,,,])
B = set([,,,])
print(A.union(B)) # 输出:{, , , , , }
17、update(取并集,改变原来的集合)
A = set([,,,])
B = set([,,,])
A.update(B)
print(A) # 输出:{, , , , , }
python学习之集合的更多相关文章
- Python学习五|集合、布尔、字符串的一些特点
#集合本身就像无值的字典 list1 = set([1,2,3,4]) list2 = {1,2,3,4} print('list1 == list2?:',list1==list2)#list1 = ...
- Python学习之==>集合
1.简介 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复数据的. 2.集合的作用 它可以把一个列表中重复的数据去掉,而不需要你再写判断 可以做关系测试,比 ...
- Python学习笔记——集合类型
集合类型有两种不同的类型——可变集合(set)和不可变集合(frozenset) 可变集合不是可哈希的,不能用作字典的键,也不能用做其他集合中的元素 不可变集合是有哈希值的,能被用做字典的键或者是作为 ...
- Python学习——set集合的补充
set 是一个无序且不重复的元素集合>>> num = {1,2,3,4,5} 1.add()添加一个元素 >>> num.add(6) >>> ...
- day5:python学习之集合
0. 集合的作用及特点 集合具有去重和关系测试两大作用,它具有无序的特点. list1 = [1,2,3,4,5,7,6,8,6,4] list1 = set(list1) print(list1) ...
- Python学习 :集合
集合 Set 集合的创建 集合的创建只有一种方式 集合中的元素必须是不可变的数据类型 集合是无序的,可以通过 for 循环来遍历或者迭代器进行筛选 s=set('xiaoming') s1=['ale ...
- python学习-21 集合 2
集合的其他方法 1.交差补集 math = {'xm','xh','xg','xx'} english ={'xm','xh','dm','john'} print(math.symmetric_di ...
- python学习-20 集合
集合set 1.由不同元素组成的集合,集合是一组无序排列的,集合中的元素必须是不可变的 -定义集合 第一种: jh = {1,2,3,4} print(type(jh),jh) 运行结果: <c ...
- Python学习笔记——集合
1. 定义 num = {} print(type(num)) num2 = {1,2,3,4,5} print(type(num2)) <class 'dict'> <class ...
随机推荐
- ThinkPHP 3.2 支付宝即时到账接口开发
前言: 一.支付流程 构造请求参数 向支付宝网关发送请求 生成支付宝页面 支付宝交易结果 二.构建支付类 1.官方即时到账文档地址: https://doc.open.alipay.com/doc2/ ...
- Servlet总结(一)
一.Servlet了解 1.Servlet全称Java Servlet,是用java编写的独立于平台和协议的服务器端应用程序,运行于服务器,采用请求-响应模式提供Web服务 2.Servlet实现过程 ...
- Linux配置Tomcat步骤mv apache-tomcat-7.0.82 tomcat
(一)安装JAVA1.检查java环境 java -version,不存在安装.2.yum -y list java* Loaded plugins: fastestmirror, langpacks ...
- luogu 1196 银河英雄传说 带权并查集
带权并查集,其实有点像许多队列问情况的小学奥数 #include<bits/stdc++.h> #define rep(i,x,y) for(register int i=x;i<= ...
- JavaScript之加载表格、表单行数据[插件]
/*** * name:加载表格或表单数据[通用] * name:load-table-or-form-data-common.js * * author:zengtai * date:2017-07 ...
- window.location详解
window.location对象常用属性 location.hostname 返回 web 主机的域名 location.host 返回 web 主机的域名(包含端口) location.pathn ...
- Mybatis进阶学习笔记——输出映射
输出映射(例如一个方法的返回至使用什么类型去接收) 1.基本类型 <!-- 统计记录数 --> <select id="queryTotalCount" resu ...
- 实验一 Java开发环境的熟悉--20165221
实验报告封面 课程:Java程序设计 班级:1652班 姓名:谭笑 学号:20165221 成绩: 指导教师:娄嘉鹏 试验日期:2018.4.2 实验组次:21 预习程度:已预习 实验时间:15:35 ...
- UML和模式应用5:细化阶段(2)--细化阶段制品之领域模型
1.前言 领域模型是OO分析中最重要和经典的模型.它阐述了领域中的重要概念: 领域模型作为设计某些软件对象的重要来源,也作为案例研究中探讨的几个制品的输入: 领域模型的范围限定于当前迭代开发的用例场景 ...
- 优秀的gdb图形化前端调试器
目前我自己最喜欢的还是 ddd . gdbgui 和 vim-vebugger插件或vimgdb插件 三种. You could try using Insight a graphical front ...