(16)-Python3之--集合(set)操作
1.定义
集合的关键字:set
集合主要作用:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
集合用大括号{}表示,元素间用逗号分隔。
建立集合类型用{}或set(),建立空集合,必须使用set()。
集合元素之间无序,每个元素唯一,不存在相同元素。
在python中,集合元素不可更改,不能是可变数据类型。
-集合中的每个元素,一旦放入集合中,不可修改。
-可变数据类型元素不可放入集合内。
2.集合创建方式
# 使用{}建立集合
A = {"python",123,("python",123)}
print(A) # 使用set()建立集合
# 注:set函数创建的集合,会将每个字符分开分别创建一个元素,集合中不存在相同集合,所以只保留一个相同元素,集合没有顺序,所以顺序是随机的
B = set("pypy123")
print(B) 结果:
{123, 'python', ('python', 123)}
{'3', '1', 'p', 'y', '2'}
3.集合操作符
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
效果也如下图所示:
4.增强型集合操作符
Python还提供了关系操作符外,python还提供了> = >= <= <
S<=T或S<T 返回True/False,判断S和T的子集关系
S>=T或S>T 返回True/False,判断S和T和包含关系
增强操作符如图所示:
增强操作符:使用赋值=符号,更新集合的元素
注:如果不使用增强操作符,两个集合进行运算,会生成一个新的集合。
5.集合处理方法
如图所示:
注:discard和remove的区别在于是否产生异常 如果出现异常,可以使用之前学过的try异常处理捕捉异常,所以这里很关键。
除此之外:
S.clear() 移除S集合中的所有元素
S.pop() 随机返回集合S中的一个元素,更新S,若S为空产生keyerror异常
除此之外还有:
# 基本操作:
s = set([3,5,9,10]) # 创建一个数值集合
t = set("Hello") # 创建一个唯一字符的集合
t.add('x') # 添加一项
s.update([10, 37, 42]) # 在s中添加多项 # 使用remove()
# 可以删除一项:
t.remove('H') # set的长度
len(s) # 测试 x 是否是 s 的成员
x in s # 测试 x 是否不是 s 的成员
x not in s # 测试是否 s 中的每一个元素都在 t 中
s.issubset(t)
s <= t # 测试是否 t 中的每一个元素都在 s 中
s.issuperset(t)
s >= t # 返回一个新的 set 包含 s 和 t 中的每一个元素
s.union(t)
s | t # 返回一个新的 set 包含 s 和 t 中的公共元素
s.intersection(t)
s & t # 返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.difference(t)
s - t # 返回一个新的 set 包含 s 和 t 中不重复的元素
s.symmetric_difference(t)
s ^ t # 返回 set “s”的一个浅复制
s.copy()
(16)-Python3之--集合(set)操作的更多相关文章
- 从头认识Spring-1.16 SpEl对集合的操作(1)-建立集合以及訪问集合的元素,以<util:list/>为例
这一章节我们来讨论一下怎样建立集合以及訪问集合的元素? 1.建立集合? (1)domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- python3与Redis连接操作
Python3之redis使用 简介 redis是一个key-value存储系统,和Memcache类似,它支持存储的value类型相对更多,包括string(字符串),list(链表),set( ...
- 第16章 List集合的总结和遍历
第16章 List集合的总结和遍历 1.重构设计 根据Vector类,ArrayList类,和LinkedList类所具有的存储特点以及拥有的方法入手,发现共性往上抽取. 共同特点: 1.允许元素重复 ...
- paip.数组以及集合的操作uapi java php python总结..
paip.数组以及集合的操作uapi 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/att ...
- Scala 运算符和集合转换操作示例
Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为 ...
- Python3.x:SQLAlchemy操作数据库
Python3.x:SQLAlchemy操作数据库 前言 SQLAlchemy是一个ORM框架(Object Rational Mapping,对象关系映射),它可以帮助我们更加优雅.更加高效的实现数 ...
- Python3 IO编程之操作文件和目录
如果我们要操作文件,目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如ls,cp等命令 如果要在python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令指示简单地调用了操作系 ...
- Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作
1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...
随机推荐
- 用Python从头开始构建神经网络
神经网络已经被开发用来模拟人脑.虽然我们还没有做到这一点,但神经网络在机器学习方面是非常有效的.它在上世纪80年代和90年代很流行,最近越来越流行.计算机的速度足以在合理的时间内运行一个大型神经网络. ...
- Autofac的基本使用---3、泛型类型
Autofac的基本使用---目录 准备 使用的表是Teacher,创建相关的IDAL.DAL.IBLL.BLL层. 使用EF,创建一个Model层,存放edmx文件. 创建一个Infrastruct ...
- Listary效率快捷键
快捷键 打开搜索框快捷键: 双击Ctrl键 上一个项目:向上键 下一个项目:向下键/Tap 打开动作:Enter 属性窗口:Ctrl+O (查询)关键字 作用范围:搜索框 使用方法:命令+空格+关键字 ...
- Python基础(上篇)
本篇文章主要内容:变量.注释.运算符.关键字.数据类型. 在入手变量之前我们先来看看经典的编程语句 → hello world 在python3中输出到控制台的函数是print() print(&qu ...
- Elasticsearch索引生命周期管理方案
一.前言 在 Elasticsearch 的日常中,有很多如存储 系统日志.行为数据等方面的应用场景,这些场景的特点是数据量非常大,并且随着时间的增长 索引 的数量也会持续增长,然而这些场景基本上只有 ...
- HADOOP单机版配置
1.需要软件 jdk hadoop 将jdk和hadoop解压到自己想要存放的路径 这里我解压到/usr/目录下 sudo tar -zxvf java1.8.tar.gz -C /usr/ hado ...
- 免费的java代码混淆,程序加密
java代码可以反编译,特别是放在客户端的程序很用被剽窃,盗用.保护程序一般都有以下几个方法: 1.将class文件加密,这个是最安全的,但也费事儿,因为要重写classloader来解密class文 ...
- swing桌面四子棋程序开发过程中遇到的一些问题记录(二)
第二个遇到的问题是将JButton按钮设置成透明的按钮.首先UI给我一张透明的图片,如果我直接给Button按钮设置背景图片的话,是没有透明的效果的,只会留下白色的底,设置前后的效果如下图 制作透明的 ...
- 你还不知道mysql中空值和null值的区别吗?
前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值.以下带来示例给大家进行讲解. 建表 create table tes ...
- 【JDBC核心】commons-dbutils
commons-dbutils 简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,它是对 JDBC 的简单封装,学习成本极低,并且使用 commons-d ...