集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据
集合的作用:
1、它可以把一个列表中重复的数据去掉,而不需要你再写判断
2、可以做关系测试,比如说有两个班,一个性能测试班,一个是接口测试班的,想找出来既学习了性能又学习了接口测试的同学,就可以用集合

一、集合的定义

s = set()  #定义空集合

s1={'hehe','hehe1','hehe3'}  #直接定义一个集合

list = [2,3,1,2,3,4]  #定义一个list

s_list = set(list)  #将list转成集合

set1 = set([1,3,4,5,6])  #这种方式和上面的都是把list转换成一个集合

二、新增集合元素
新增集合元素,可使用add和update,这二者间区别用下面两个例子说明

s = {'a','b','c','d'}

s.add('') 

print(s)     #打印结果为:{'c', 'd', 'b', '123', 'a'}

s.update('')  #update是把另外一个集合加进去
s.update({7,8,9}) print(s) #打印结果为:{'d', '5', 'b', 'c', 'a', '6', '4'}
print(s) #打印结果为:{'c', 'b', 7, 8, 'a', 'd', 9}

三、删除集合元素

s.remove('d')     #删除指定元素,删除不存在的元素会报错

s.pop()           #随机删除一个元素

s.discard('kfc')  #如果删除的元素存在,删除,不存在不做处理

print(s)

del s             # 删除集合

四、集合的常用操作
4.1 交集:就是两个集合相同的元素

s2 = set('')

s3 = {'','','','','','','',''}

print(s3 & s2)   #取交集

print(s3.intersection(s2))  #取交集

print(s2.isdisjoint(s3))  #判断s2和s3是否没有交集,没有交集的话返回True,有交集则返回False

4.2 并集:就是把两个集合合并到一起,然后去重

print(s2 | s3)  #取并集

print(s2.union(s3))  #取并集

4.3 差集:A,B是两个集合,以属于A而不属于B的元素为元素的集合称为A与B的差集

s4 = {1,2,3}

s5 = {1,4,6}

print( s4 - s5)  #取差集  s4里有,s5里没有的

print(s4.difference(s5)) #取差集  s4里有,s5里没有的

#打印结果:{2,3}

4.4 对称差集:就是合并两个集合,然后去掉俩集合里面都有的

print(s4 ^ s5)

print(s4.symmetric_difference(s5))

#打印结果:{2, 3, 4, 6}

python----集合用法总结的更多相关文章

  1. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  2. Python import用法以及与from...import的区别

    Python import用法以及与from...import的区别 在python用import或者from...import来导入相应的模块.模块其实就是一些函数和类的集合文件,它能实现一些相应的 ...

  3. 『无为则无心』Python序列 — 22、Python集合及其常用操作

    目录 1.Python集合特点 2.Python集合的创建 3.操作集合常用API (1)增加数据 @1.add()方法 @2.update()方法 (2)删除数据 @1.remove()方法 @2. ...

  4. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  5. [转]python集合set

    Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...

  6. Python高级用法总结

    Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensi ...

  7. python argparse用法总结

    转:python argparse用法总结 1. argparse介绍 argparse是python的一个命令行解析包,非常适合用来编写可读性非常好的程序. 2. 基本用法 prog.py是我在li ...

  8. python集合使用范例的代码

    在代码过程中中,将代码过程中比较好的代码段珍藏起来,如下的代码是关于python集合使用范例的代码,希望能对大伙有用. # sets are unordered collections of uniq ...

  9. Anaconda下载及安装及查看安装的Python库用法

    Anaconda下载及安装及查看安装的Python库用法 Anaconda 是一个用于科学计算的 Python 发行版,提供了包管理与环境管理的功能.Anaconda 利用 conda 来进行 pac ...

  10. python enumerate用法总结【转】

    enumerate()说明 enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enum ...

随机推荐

  1. 实验二《Java面向对象程序设计》的一点说明

    实验二<Java面向对象程序设计>的一点说明 本周的实验要求是: 完成实验二<Java面向对象程序设计>中的内容 其中Eclipse相关的内容参考Intellj IDEA 简易 ...

  2. 初始化vue项目,报错This is probably not a problem with npm,there is likely additional logging output above

    https://blog.csdn.net/ink_if/article/details/79015811 参考别人的博客 初始化项目,vue init webpack-simple demo 然后n ...

  3. Lucky 7 (容斥原理 + 中国剩余定理)

    题意:求满足7的倍数,不满足其他条件num % p == a 的num的个数. 思路:利用中国剩余定理我i们可以求出7的倍数,但是多算了不满足约定条件又得减去一个,但是又发现多减了,又得加回来.如此, ...

  4. py-faster-rcnn

    踩坑: 1. 服务器上训练: sh ./experiments/scripts/faster_rcnn_end2end.sh 会各种报错 有说是因为#!/bin/bash的问题,改过,不行. 改成如下 ...

  5. OC OD介绍

    参考:http://www.elecfans.com/baike/bandaoti/jichuzhishi/20100304178298.html OC门,又称集电极开路门,Open Collecto ...

  6. 自制操作系统Antz(5)——深入理解保护模式与进入方法

    Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs. ...

  7. A Summary of Multi-task Learning

    A Summary of Multi-task Learning author by Yubo Feng. Intro In this paper[0], the introduction of mu ...

  8. nginx代理配置 配置中的静态资源配置,root 和 alias的区别

    这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...

  9. JS设计模式(3)代理模式

    什么是代理模式? 情景:小明追女生 A 非代理模式:小明 =花=> 女生A 代理模式:小明 =花=> 让女生A的好友B帮忙 =花=> 女生A 定义:为其他对象提供一种代理以控制对这个 ...

  10. Loj 6036 「雅礼集训 2017 Day4」编码 - 2-sat

    题目传送门 唯一的传送门 题目大意 给定$n$个串,每个串只包含 ' .问是否可能任意两个不同的串不满足一个是另一个的前缀. 2-sat的是显然的. 枚举每个通配符填0还是1,然后插入Trie树. 对 ...