Python的set集合
set集合也用{}表示,set中的元素是不重复的、无序的,且它里面的元素必须是可hash的(int,str,tuple,bool),set是可变的。
1.使用set去重
m = [1, '苹果', '', '苹果', 3, 1, '']
s = list(set(m))
print(s) ['苹果', 1, '3', 3]
2.set集合增删查改
1)增 使用add
s = {'成龙', '李小龙', '甄子丹', '李连杰'}
s.add('周星驰')
print(s)
{'周星驰', '李连杰', '甄子丹', '李小龙', '成龙'}
使用update ps:迭代添加
s = {'成龙', '李小龙', '甄子丹', '李连杰'}
s.update('周星驰')
print(s)
{'甄子丹', '驰', '李连杰', '周', '成龙', '星', '李小龙'}
2)删 使用pop()随机删除一个
s = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
s.pop()
print(s)
{'甄子丹', '驰', '李连杰', '周', '成龙', '星', '李小龙'}
使用remove()直接删除元素
s = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
s.remove('甄子丹')
print(s)
{'周星驰', '李连杰', '李小龙', '成龙'}
使用clear()清空集合
s = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
s.clear()
print(s)
set()
3)修改
set集合中的数据没有索引,也没办法去定位一个元素,所以没办法直接修改,可以采用先删除后添加的方式来完成修改操作。
4)set集合是一个可迭代对象,可以进行for循环。
3.常用操作
1)交集 &
s1 = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
s2 = {'甄子丹', '潘长江', '周星驰', '赵本山'}
print(s1 & s2)
4 print(s1.intersection(s2))
{'甄子丹', '周星驰'}
2)并集 |
s1 = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
s2 = {'甄子丹', '潘长江', '周星驰', '赵本山'}
print(s1 | s2)
4 print(s1.union(s2))
{'李连杰', '李小龙', '周星驰', '赵本山', '成龙', '潘长江', '甄子丹'}
3)差集 -
s1 = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
s2 = {'甄子丹', '潘长江', '周星驰', '赵本山'}
print(s1 - s2)
print(s1.difference(s2))
{'李小龙', '李连杰', '成龙'}
4)反交集 ^
s1 = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
s2 = {'甄子丹', '潘长江', '周星驰', '赵本山'}
print(s1 ^ s2)
print(s1.symmetric_difference(s2))
{'李连杰', '成龙', '李小龙', '赵本山', '潘长江'}
5)子集
s1 = {'甄子丹', '周星驰'}
s2 = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
print(s1 < s2)
print(s1.issubset(s2))
Ture
6)超集
s1 = {'成龙', '李小龙', '甄子丹', '李连杰', '周星驰'}
s2 = {'甄子丹', '周星驰'}
print(s1 > s2)
print(s1.issuperset(s2))
Ture
4.frozenset
可用frozenset定义一个不可变的集合。
Python的set集合的更多相关文章
- python爬虫工具集合
python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...
- Python序列结构--集合
集合:元素之间不允许重复 集合属于Python无序可变序列,元素之间不允许重复 集合对象的创建与删除 直接将值赋值给变量即可创建一个集合 >>> a = {3,5}>>& ...
- python 中的集合set
python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
- 【转】Python数据类型之“集合(Sets)与映射(Mapping)”
[转]Python数据类型之“集合(Sets)与映射(Mapping)” 一.集合类型(Sets) 集合对象是不同的(不可重复)hashable对象的无序集合.常见用法包括:成员关系测试.移除序列中的 ...
- Python的set集合详解
Python 还包含了一个数据类型 -- set (集合).集合是一个无序不重复元素的集.基本功能包括关系测试和消除重复元素.集合对象还支持 union(联合),intersection(交),dif ...
- python入门13 集合set
set集合与数学中的集合同一个概念,是无序不重复元素组成的. #coding:utf-8 #/usr/bin/python """ 2018-11-10 dinghanh ...
- Python中的集合类型分类和集合类型操作符解析
集合类型 数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements). Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...
- Python列表、集合与字典(3)
目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识 列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系. 在Pytho ...
- python学习之【第七篇】:Python中的集合及其所具有的方法
1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...
- python常用模块集合
python常用模块集合 Python自定义模块 python collections模块/系列 Python 常用模块-json/pickle序列化/反序列化 python 常用模块os系统接口 p ...
随机推荐
- Python *Mix_w4
1.什么是列表(list) 列表是一个可变的数据类型 列表由[ ]来表示,每一项元素使用逗号隔开.列表什么都能装,能装对象的对象. 列表可以装大量的数据,列表能装所有数据类型 2.列表的索引和切片 列 ...
- linux c++ curl https 请求并双向验证SSL证书
1.配置curl https请求需要提供 CA证书.客户端证书和客户端秘钥,这三个文件的pem格式. 分别对应 curl_easy_setopt() 函数的 下面三个参数: CURLOPT_CAINF ...
- 关于Excel导出实例(适合新手,比较详细)
需要源代码的可以加我微信好友gqljxg1514 1,首先配置依赖pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0&q ...
- gzip 所使用压缩算法的基本原理(选摘)
摘自:http://blog.csdn.net/ghevinn/article/details/45747465 gzip 所使用压缩算法的基本原理 gzip 对于要压缩的文件,首先使用LZ77算法 ...
- 配置mysql主从步骤
在公司开发中,有时候为了缓解数据库压力,会把读写分开为两个数据库来操作,读为一个数据库,写为一个数据库,然后两个数据库做同步,这样能明显降低数据库的压力,下面给大家介绍如何进行mysql主从数据库配置 ...
- ssh: connect to host gitlab.alpha.com port 22: Network is unreachable
在这里只说明我遇到的问题和解决方法,可能并不能解决你遇到的问题: git clone git@gitlab.alpha.com:ipcam/ambarella.gitCloning into 'amb ...
- python int str
1. int 类型转换 a = "123" b = int(a) b = b+10 print(type(a),a) print(type(b),b) 2. int(num,bas ...
- 机器视觉:SSD Single Shot MultiBox Detector
今天介绍目标检测中非常著名的一个框架 SSD,与之前的 R-CNN 系列的不同,而且速度比 YOLO 更快. SSD 的核心思想是将不同尺度的 feature map 分成很多固定大小的 box,然后 ...
- 【EMV L2】DDA标准动态数据认证处理流程
[标准动态数据认证DDA] 标准动态数据处理过程,除了动态签名由卡片生成以外,其他都是由终端执行的.处理过程: 1.认证中心公钥的获取终端使用认证中心公钥索引(PKI)以及卡片中的注册的应用提供商标识 ...
- 渲染标签 - v-text
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title ...