Python集合及运算
王大力测试进阶之路
共 2270字,需浏览 5分钟
· 2021-04-17
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}或者set(value)
集合的写法:
set1={1,2,3}
set2=set([1,2,3])
set3=set((1,2,3))
set4=set({1:2})
print(type(set1),type(set2),type(set3),type(set4))
print(set1,set2,set3,set4)
<class 'set'> <class 'set'> <class 'set'> <class 'set'>
{1, 2, 3} {1, 2, 3} {1, 2, 3} {1}
集合的运算:
1、列表去重,变成集合即可去重
list1=[1,2,2,'python','java','java']
list2=set(list1)
print(list2,type(list2))
{1, 2, 'python', 'java'} <class 'set'>
2、集合的交集
list1=[1,2,2,'python','java','java']
list1=set(list1)
list2=[3,2,2,'python','java','c']
list2=set(list2)
print(list1.intersection(list2))或print(list1&list2)
{2, 'python', 'java'}
3、集合的并集(list1和list2合到一起再去重)
list1=[1,2,2,'python','java','java']
list1=set(list1)
list2=[3,2,2,'python','java','c']
list2=set(list2)
print(list1.union(list2))或print(list1|list2)
{1, 2, 3, 'c', 'java', 'python'}
4、集合的差集(list1有list2没有的)
list1=[1,2,2,'python','java','java']
list1=set(list1)
list2=[3,2,2,'python','java','c']
list2=set(list2)
print(list1.difference(list2))或print(list1-list2)
{1}
5、集合的对称差集(list1有list2没的,list2有的list1没有的,去掉list1和list2重复的)
list1=[1,2,2,'python','java','java']
list1=set(list1)
list2=[3,2,2,'python','java','c']
list2=set(list2)
print(list1.symmetric_difference(list2))或print(list1^list2)
{1, 3, 'c'}
6、集合的子集(list1是list2子集?)
list1=[1,2,2,'python','java','java']
list1=set(list1)
list2=[3,2,2,'python','java','c']
list2=set(list2)
print(list1.issubset(list2))
False
7、集合添加1项元素
list1=[1,2,2,'python','java','java']
list1=set(list1)
list1.add(555)
print(list1)
{1, 2, 555, 'java', 'python'}
8、集合添加多项元素
list1=[1,2,2,'python','java','java']
list1=set(list1)
list1.update([555,666,777])
print(list1)
{'java', 1, 2, 777, 555, 666, 'python'}
9、删除集合元素
list1=[1,2,2,'python','java','java']
list1=set(list1)
list1.remove(2)
print(list1)
{1, 'python', 'java'}
10、判断元素是否在集合
list1=[1,2,2,'python','java','java']
list1=set(list1)
print(1 in list1)
True
11、随机删集合1个元素并返回这个元素
list1=[1,2,2,'python','java','java']
list1=set(list1)
print(list1.pop())
1
评论
金融研究 | 使用Python测量关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
金融研究(更新) | 使用Python构建关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
谷歌员工爆料 Python 基础团队原地解散
转自 | 机器之心编辑 | 蛋酱什么?谷歌解雇了整个 Python 基础团队?「当与你直接共事的每个人,包括你的主管,都被裁员 —— 哦,是职位被削减,而你被要求安排他们的替代者入职,这些人被告知在不同的国家担任同样的职位,但他们并不为此感到高兴,这是很艰难的一天。」发布这一动态的 Tho
机器学习算法与Python实战
0
五一抢票难,Github上这几个Python项目,你可以试试
又到五一长假啦(虽然其实就放了1天),大家是打算家里蹲or出去玩,又或者是在公司加班呢...今天给大家介绍三个和12306相关的项目,看看你是否用得上。/01/ py12306py12306购票助手,顾名思义,12306买票的~需要在python 3.6以上版本运行程序。1. 安装依赖gi
Crossin的编程教室
0
谷歌员工爆料Python基础团队原地解散
机器之心报道编辑:蛋酱什么?谷歌解雇了整个 Python 基础团队?「当与你直接共事的每个人,包括你的主管,都被裁员 —— 哦,是职位被削减,而你被要求安排他们的替代者入职,这些人被告知在不同的国家担任同样的职位,但他们并不为此感到高兴,这是很艰难的一天。」发布这一动态的 Thomas Wouter
机器学习初学者
0
Python加速运行技巧
Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足。但是,有很多时候,Python 的效率并没有想象中的那么夸张。本文对一些 Python 代码加速运行的技巧进行整理。 0. 代码优化原则 本文会介绍不少的 Python 代码加速运行的技巧。在深入代码优化细
机器学习算法与Python实战
0
为什么我们公司还在用 Python 开发项目?
作者:哇哒嘻哇https://www.zhihu.com/question/278798145/answer/3416549119最近几年里,经常看到某些曾重度使用 Python 的大公司迁移成其它语言技术栈,但是,那些小公司/小团队的情况如何呢?一直很想了解那些仍在坚持使用 Python,且支撑业
机器学习算法与Python实战
0
【Python】coverage,一个有趣的 Python 库!
大家好,今天为大家分享一个有趣的 Python 库 - coveragepy。Github地址:https://github.com/nedbat/coveragepy在软件开发中,测试是确保代码质量和稳定性的关键步骤之一。而代码覆盖率则是衡量测试覆盖代码的程度的重要指标之一。Python cove
机器学习初学者
0