1、简介

  • 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复数据的。

2、集合的作用

  • 它可以把一个列表中重复的数据去掉,而不需要你再写判断
  • 可以做关系测试,比如说有两个班,一个性能测试班,一个是接口测试班的,想找出来既学习了性能又学习了接口测试的同学,就可以用集合。

3、定义集合

 # 集合:天生去重,集合是无序的
list = [2,3,1,2,3,4]
s1 = set() # 定义空集合
s2 = set('aaee1122') # 集合会把重复数据去掉
s3 = set(list) # 把list转换成一个集合
s4 = set([2,3,1,2,3,4]) # 这种方式和上面的都是把list转换成一个集合
s5 = {1,2,1,4,2,5,7} # 这种方式直接定义一个集合

4、集合相关操作

 s = {1,2,3,4,5,6,7}
s.add(9) # 加元素
s.pop() # 随机删除一个元素
s.remove(7) # 指定删除哪个元素
s.update({11,12,13}) # 把另外一个集合加到s集合中去

5、交集

 s1 = set('aaee1122')
s2 = {'','','','','','',''}
print(s1 & s2) # 取交集
print(s1.intersection(s2)) # 取交集
print(s1.isdisjoint(s2)) # 判断s1和s2是否有交集,如果没有交集,返回True,有交集则返回False

6、并集

 # 并集:把两个集合合并到一起,去重
s1 = set('aaee1122')
s2 = {'','','','','','',''}
print(s1 | s2) # 取并集
print(s1.union(s2)) # 取并集

7、差集

 # 差集:去掉前面的集合中两个集合都有的元素并去重
s1 = set('aaee1122')
s2= {'','','','','','',''}
print(s1 - s2)
print(s1.difference(s2))

8、对称差集

 # 对称差集:去掉两集合里面都有的,然后合并两个集合并去重
s1 = set('aaee1122')
s2 = {'','','','','','',''}
print(s1 ^ s2)
print(s1.symmetric_difference(s2))

9、练习

 # 校验密码里面是否包含数字、大写字母、小写字母和特殊符号
import string
num_set = set(string.digits)
upper_set = set(string.ascii_uppercase)
lower_set = set(string.ascii_lowercase)
pum_set = set(string.punctuation)
for i in range(3):
pwd = input('请输入密码:').strip()
pwd_set = set(pwd)
if pwd_set & num_set and pwd_set & upper_set and pwd_set & lower_set and pwd_set & pum_set:
print('密码输入合法')
break
else:
print('密码不合法,密码必须包含数字、大写字母、小写字母和特殊字符')
else:
print('错误次数超限')

Python学习之==>集合的更多相关文章

  1. Python学习五|集合、布尔、字符串的一些特点

    #集合本身就像无值的字典 list1 = set([1,2,3,4]) list2 = {1,2,3,4} print('list1 == list2?:',list1==list2)#list1 = ...

  2. Python学习笔记——集合类型

    集合类型有两种不同的类型——可变集合(set)和不可变集合(frozenset) 可变集合不是可哈希的,不能用作字典的键,也不能用做其他集合中的元素 不可变集合是有哈希值的,能被用做字典的键或者是作为 ...

  3. python学习之集合

    集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典. 创建格 ...

  4. Python学习——set集合的补充

    set 是一个无序且不重复的元素集合>>> num = {1,2,3,4,5} 1.add()添加一个元素 >>> num.add(6) >>> ...

  5. day5:python学习之集合

    0. 集合的作用及特点 集合具有去重和关系测试两大作用,它具有无序的特点. list1 = [1,2,3,4,5,7,6,8,6,4] list1 = set(list1) print(list1) ...

  6. Python学习 :集合

    集合 Set 集合的创建 集合的创建只有一种方式 集合中的元素必须是不可变的数据类型 集合是无序的,可以通过 for 循环来遍历或者迭代器进行筛选 s=set('xiaoming') s1=['ale ...

  7. python学习-21 集合 2

    集合的其他方法 1.交差补集 math = {'xm','xh','xg','xx'} english ={'xm','xh','dm','john'} print(math.symmetric_di ...

  8. python学习-20 集合

    集合set 1.由不同元素组成的集合,集合是一组无序排列的,集合中的元素必须是不可变的 -定义集合 第一种: jh = {1,2,3,4} print(type(jh),jh) 运行结果: <c ...

  9. Python学习笔记——集合

    1. 定义 num = {} print(type(num)) num2 = {1,2,3,4,5} print(type(num2)) <class 'dict'> <class ...

随机推荐

  1. 007-Zabbix Server 自带模板监控MySQL数据库

    监控数据库分为三种: 1.Zabbix Server 自带模板监控无密码MySQL数据库 2.Zabbix Server 自带模板监控有密码MySQL数据库 3.Zabbix Server 自带模板监 ...

  2. 清北学堂提高组突破营游记day6

    还有一天就结束了..QWQ 好快啊. 昨天没讲完的博弈论DP: 一个标准的博弈论dp,一般问的是是否先手赢. 博弈论最关键的问题:dp过程. 对于一个问题,一定有很多状态,每个状态可以转移到其他的一些 ...

  3. JAVA利用递归的方法删除一个文件夹以及文件夹下所有的子文件

    public static boolean deleteFolder(String url) { File file = new File(url); if (!file.exists()) { re ...

  4. Runnable和Thread比较

    看代码 public static void main(String[] args) { // TODO Auto-generated method stub new MyThread().start ...

  5. pandas的corsstab

      pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=F ...

  6. 网络吞吐量(network)

    题目 分析 过一遍spfa,把从点1到其他每一个点的最短路求出来, 接着递归把所有最短路径上的路径保留,其他的删掉. 对于保留的路径作为网络流的边,流量为无穷大,对于每个点拆点两个点之间的流量为吞吐量 ...

  7. 19.顺时针打印矩阵(python)

    题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...

  8. python+selenium封装UI自动化框架

    seleinum框架 框架的思想:  解决我们测试过程中的问题:大量的重复步骤,用自动化来实现    1)配置和程序的分离    2)测试数据和程序的分离    3)不懂编程的人员可以方便使用:使用的 ...

  9. Windows 网络监测ping IP输出时间

    本文出自:https://www.cnblogs.com/2186009311CFF/p/9489374.html 持续监测网络,打印时间的方法,不足没有精确到毫秒 vbs文件内容如下 Dim arg ...

  10. JPA学习(六、JPA_JPQL)

    框架学习之JPA(六) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...