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应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
随机推荐
- [20190401]跟踪dbms_lock.sleep调用.txt
[20190401]跟踪dbms_lock.sleep调用.txt --//自己在semtimedop函数调用理解错误,加深理解,跟踪dbms_lock.sleep调用的情况. 1.环境:SCOTT@ ...
- C#基础第七天
1.ref参数ref参数侧重于将一个变量以参数的形式带到一个方法中进行改变,改变完成后,再讲改变后的值带出来.在使用ref参数的时候需要注意:ref参数在方法外必须为其赋值. 2.方法的重载方法的重载 ...
- eclipse IDE使用git方法简单介绍
eclipse下使用git插件上传代码至github 1.eclipse下安装git eclipse git 插件的安装. 点击 Help->Install New Software-> ...
- Cs231n-assignment 2作业笔记
assignment 2 assignment2讲解参见: https://blog.csdn.net/BigDataDigest/article/details/79286510 http://ww ...
- Docker之进入容器(三)
1.简介 经过前面两篇博客的扫盲,大家多多少少对docker有了一个基本的了解,也接触了docker的常用命令.在这篇博客中,我将介绍进入docker容器的几种方式. 2.进入docker中的几种方式 ...
- Git与SVN交叉使用
将本地git项目添加到远程svn中 git svn [svnprojpath] svnprojpath为原创svn项目路径 -- 文件夹路径,你要放到哪个文件夹 官方文档中带有-s参数,但我这边加了会 ...
- scheme实现最基本的自然数下的运算
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/9123363.html 作者:窗户 Q ...
- 【Python 19】BMR计算器3.0(字符串分割与格式化输出)
1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...
- Linux内存管理 (16)内存规整
专题:Linux内存管理专题 关键词:内存规整.页面迁移.pageblock.MIGRATE_TYPES. 内存碎片的产生:伙伴系统以页为单位进行管理,经过大量申请释放,造成大量离散且不连续的页面.这 ...
- mysql分割逗号办法
https://blog.csdn.net/xcymorningsun/article/details/73436568