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应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
随机推荐
- 使用sqlyog或者navicat连接mysql提示1862错误解决
mysql的bin目录下执行 mysqladmin -uroot -p password 依次输入旧密码.新密码.确认新密码 修改后重新使用sqlyog或navicat连接成功 问题解决!
- 安装MySQL8.0 遇到的3个小错误
过去公司都是用的5.7 系列的MySQL,随着8.0的发版,也想试着升级一下.遇到了两个小错误,记录在此. 路径设置: 安装包路径:/data/mysql80/ 数据路径: /data/mysql/ ...
- HTMLCSS--案例| 超链接美化 | 模态框 | tab栏选项卡
一.超链接美化 二.模态框 三.tab栏选项卡 -------------------------------------------- 一.超链接美化 <!DOCTYPE html> & ...
- 关于Docker开通远程访问端口2375
一.使用版本:docker for windows 18.06,安装过程略,具体如下: 二.开通远程访问端口2375,只需要设置一下即可,如下图:
- c# 正则验证
1.验证百分数 bool tempBool = Regex.IsMatch(str, @"[1-9]{0,1}[0-9](\\.[0-9])?%");
- python之函数对象、函数嵌套、名称空间与作用域、装饰器
一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 二 利用该特性,优雅的取代多分支的if de ...
- 小程序第三方框架对比 ( wepy / mpvue / taro )(转)
文章转自 https://www.cnblogs.com/Smiled/p/9806781.html 众所周知如今市面上端的形态多种多样,手机Web.ReactNative.微信小程序, 支付宝小程 ...
- 多节点,多线程下发订单,使用zookeeper分布式锁机制保证订单正确接入oms系统
假设订单下发, 采用单机每分钟从订单OrderEntry接口表中抓100单, 接入订单oms系统中. 由于双十一期间, 订单量激增, 导致订单单机每分钟100单造成, 订单积压. 所以采用多节点多线程 ...
- 2018-2019-2 20175228实验一《Java开发环境的熟悉》实验报告
一.实验内容及步骤 (一)使用JDk编译.运行简单的Java程序 实验步骤如下: 实验截图如下: (二)使用IDEA调试程序 1.设置断点2.单步运行:Step Into(快捷捷F7)和Step Ov ...
- 使用CompletableFuture优化你的代码执行效率
这篇文章详细讲解java8中CompletableFuture的特性,方法以及实例. 在java8以前,我们使用java的多线程编程,一般是通过Runnable中的run方法来完成,这种方式,有个很明 ...