Python 操作集合
Python 操作集合
集合,set,主要用于数据的关系测试和去重处理,和列表类似,可以存储数据,列表中可以存储重复的数据,但是如果转化为集合之后,数据就会进行去重,然后保留唯一值;关系测试就是求多个集合对象之间的交集、差集、并集、补集等等。用{}表示。
去重处理,定义一个列表,里面有重复的数据,将列表转化为集合,然后查看集合中的数据。
list1=[ 1,3,5,7,9,7,5,3,1]
set1=set(list1)
print(set1,type(set1))

集合,可以完成列表的去重处理,集合是乱序的,无序排列的。
集合关系测试
- 交集:两个集合中的相同的元素。Intersection,&
- 并集:将两个集合中的元素和在一个集合中,进行集合去重处理,union,|。
- 差集:在集合A中存在,在集合B中不存在的元素的集合。Difference。A差B和B差A的结果是完全不一致的。A差B,实际上就是A-A交B。-。
- 子集:判断,返回True或者False,issubset。
- 超集:判断,返回True或者False,issupperset。
- 反向差集:对称差集,用并集-交集,将两个集合中互相没有的元素取出来,放在一个集合中。^。
示例:
中存在,在集合2中不存在,有先后顺序之分
和只在集合2中存在的元素,组成的集合,没有先后顺序
print("-------对称交集--------")
print(set1.symmetric_difference(set2))
print((set2 | set1) - (set1 & set2))
输出结果如下:

集合的运算,增删改查
- 添加:add,向集合中添加一个元素,位置随机。
- 批量添加:update,以列表的形式,向集合中加入多个元素。实际上对象只要是一个可迭代的对象,就可以。
- 删除:remove,删除集合中的元素,集合是去重的,所以只会删除一个。
- 长度:len
- 判断是否是成员:in
- 删除:pop,随机删除,并返回该删除的值。
- 指定性删除:discard,指定一个值,如果该值在集合中,那删除,如果不在,不删。和remove的区别是如果remove一个集合中不存在的元素就会报错,如果是discard,则不会报错。
set1 = { 1,3,5,67,8,9}
#添加元素,add单个添加,update添加一个列表
set1.add(28)
print(set1)
set1.update([2,4,6])
print(set1)
#删除,remove和discard,随机删除并返回删除结果pop
set1.remove(1)
print(set1)
set1.discard(999)
print(set1)
print(set1.pop())

Python 操作集合的更多相关文章
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- Python操作redis学习系列之(集合)set,redis set详解 (六)
# -*- coding: utf-8 -*- import redis r = redis.Redis(host=") 1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合 ...
- 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表
python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...
- 第二百九十八节,python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表
python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表 sadd(name,values)name对应的集合中添加元素 #!/usr/bin/env python # -*- ...
- Python:集合操作总结
集合是一组无序排列的不重复元素集 [注]:集合的最大作用是对一个序列进行去重操作 一.集合的分类 在Python中集合分为两类,为可变集合(set)和不可变集合(frozenset).对于可变集合(s ...
- python 操作redis之——有序集合(sorted set) (七)
#coding:utf8 import redis r =redis.Redis(host=") 1.Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中.如果某个成员已经是有序 ...
- python基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- python 的集合 set()操作
Python 的集合 set(),是一个无序不重复元素集,可以用于关系测试和消除重复元素. 有以下运算: 1.创建一个set ()集合: 2.add:增加集合元素 3.clea ...
- Python 【第六章】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
随机推荐
- github、git软件安装、pycharm下使用git配置、git GUI相关
1.GitHub: 官网:直接搜索,排名很靠前,需要注册: 注册完之后,会有指引.新建项目两个选项(看不懂的问YOUDAO等翻译软件啦,大段复制进去就行) 2.Git安装: (https://git- ...
- PJSUA2开发文档--第十章 媒体质量(MEDIA QUALITY)
10 媒体质量(Media Quality) 10.1 音频质量 如果遇到音频质量问题,可尝试以下步骤: 遵循指南:使用pjsystest测试声音设备. 识别声音问题并使用以下步骤进行故障排除:检查声 ...
- MongoDB副本集功能及节点属性梳理
副本集的主要功能 副本集是MongoDB高可用的基础,其主要作用 归纳为以下几点: (1)高可用,防止设备(服务器.网络)故障.提供自动FailOver功能. (2)无需配置高可用性虚拟节点:无论是S ...
- c/c++ linux 进程间通信系列5,使用信号量
linux 进程间通信系列5,使用信号量 信号量的工作原理: 由于信号量只能进行两种操作等待和发送信号,即P(sv)和V(sv),他们的行为是这样的: P(sv):如果sv的值大于零,就给它减1:如果 ...
- 本地系统服务例程:Nt和Zw系列函数
Windows本地操作系统服务API由一系列以Nt或Zw为前缀的函数实现的,这些函数以内核模式运行,内核驱动可以直接调用这些函数,而用户层程序只能通过系统进行调用.通常情况下用户层应用程序不会直接调用 ...
- Windows服务器环境下jenkins下载和安装
1.下载jenkins 在windows系统上搭建jenkins持续集成有两种方法:1.war文件,可以用tomcat或者java命令直接运行2.msi安装,作为系统服务后台运行 下载地址 https ...
- 初学Python——协程
进程.线程和协程区分 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程. 在linux系统中,线程就是轻量级的进程,而我们 ...
- myBatista批量查询和插入
<select id="queryCompanyByDistrict" resultType="WyCompany"> SELECT * FROM ...
- 软工+C(1): 题目设计、点评和评分
// 下一篇:分数和checklist 如何设计题目 教学中的一个问题是老师出题太简单了,题目设计一开始上来就不紧凑,我认为一个好的课程应该上来就给你紧凑感,而不是先上来"轻松2-3周&qu ...
- Flask上下文管理源码分析 ——(3)
引出的问题 Flask如何使用上下文临时把某些对象变为全局可访问 首先我们做如下的几种情况的假设 情况一:单进程单线程 这种情况可以基于全局变量存储临时的对象 情况二:单进程多线程 这种情况会出现多个 ...