【python】set集合基础与使用
set 是python中一种不常用,但某些场景下很有用的数据类型
1.set的创建
python中集合有两种方式创建,一种是利用大括号{set...}
的形式,另一种是利用set()
函数形式。
set1 = {1,2,3,4,5}
print('set1 is ',type(set1))
set2 = {1,'string'}
print('set2 is ',type(set2))#use set()
set3 = set('strinnnnng')
set4 = set(['string1','string2','string3'])print(set3)
print(set4)"""
>>>
set1 is <class 'set'>
set2 is <class 'set'>
{'g', 'n', 's', 'i', 'r', 't'} #无序,n不重复
{'string2', 'string1', 'string3'} #set(函数只能包含单一的一整个元素,可放入一个list,将其中每个字符串元素作为集合元素
"""
从上面的结果可以看到,set具有无序、元素不重复等特点。(集合的每一个元素是不可变元素,如整数,字符串、元组)
2.set的操作
seta = set('abcdefg')
setb = {'abc'}print(seta)#增加元素
seta.add('w')
print(seta)#随机删除元素
seta.pop()
print(seta)#删除指定元素
setb.add('c')
print(setb)
setb.remove('c')
print(setb)
#方法二
setb.discard('a') #不存在不报错
print(setb)"""
>>>
{'e', 'd', 'a', 'g', 'b', 'f', 'c'}
{'e', 'd', 'a', 'g', 'b', 'f', 'c', 'w'} #w新增了
{'d', 'a', 'g', 'b', 'f', 'c', 'w'} #随机pip了d
{'c', 'abc'} #setb新增c
{'abc'} #删除了c
{'abc'} #没有a,discard()也不报错
"""
3.集合运算
seta = set('abcdefghijk')
setb = set('abcd')
setc = set('lmnopqrst')#子集
print(setb<seta) #小于号表示是否是子集,成立则为true
print(setc<seta)
"""
>>>
True
False
"""#交集
print(seta & setb) #利用&操作
print(seta.intersection(setb)) #利用集合内置函数intersection()
"""
>>>
{'d', 'a', 'c', 'b'}
{'d', 'a', 'c', 'b'}
"""#并集
print(seta | setc) #利用 | 操作得到并集
print(seta.union(setc)) #利用内置函数union()
"""
>>>
{'q', 'r', 'p', 'f', 's', 'm', 't', 'e', 'c', 'i', 'd', 'l', 'a', 'b', 'n', 'k', 'g', 'h', 'j', 'o'}
{'q', 'r', 'p', 'f', 's', 'm', 't', 'e', 'c', 'i', 'd', 'l', 'a', 'b', 'n', 'k', 'g', 'h', 'j', 'o'}
"""#差集
print(seta - setb)
print(seta.difference(setb))
"""
>>>
{'f', 'e', 'j', 'g', 'h', 'i', 'k'}
{'f', 'e', 'j', 'g', 'h', 'i', 'k'}
"""#对称差,只属于其中一个集合的元素
setd = set('abxyz')
print(setb ^ setd) #利用 ^ 操作得到,类似于异或操作
print(setb.symmetric_difference(setd)) #利用内置函数symmetric_difference()
"""
>>>
{'c', 'x', 'd', 'y', 'z'} #共有的ab被剔除
{'c', 'x', 'd', 'y', 'z'} #cd只在setb中,xyz只在setd中存在
"""
ref:
https://www.jdoodle.com/python3-programming-online
http://www.cnblogs.com/suendanny/p/8597596.html
http://www.iplaypy.com/jichu/set.html
http://www.runoob.com/python3/python3-set.html
pic from pexels.com
【python】set集合基础与使用相关推荐
- Python 3 集合基础和概念!
Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...
- Python frozenset 集合 - Python零基础入门教程
目录 一.Python frozenset 集合语法 二.Python frozenset 集合使用 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> P ...
- Python set集合 - Python零基础入门教程
目录 一.set 集合简介 二.set 集合常用函数 三.set 集合运算符 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 ...
- python快乐编程—基础入门-从萌新到大神必读书籍 《Python快乐编程基础入门》...
2019年,全球信息化进程持续加快,IT行业繁荣发展.作为新时代IT人,不仅需要强大的理论知识,更需要过硬的技术.Python作为最受欢迎的编程语言之一,作为人工智能时代的首选语言,因其受众多.用途广 ...
- python从零基础到项目实战怎么样-2018完整Python零基础到项目精通的学习书籍
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏.Python编程语言的流行直线上升,如何学习好Py ...
- python编程语法大全-Python编程入门——基础语法详解
今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...
- python编程语法-Python编程入门——基础语法详解
今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...
- python编程if语法-Python编程入门基础语法详解经典
原标题:Python编程入门基础语法详解经典 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_number = ...
- python编程语法-Python编程入门——基础语法详解(经典)
今天小编给大家带来Python编程入门--基础语法详解.温馨提示: 亮点在最后! 在这里还是要推荐下我自己建的Python开发学习群:301056051,群里都是学Python开发的,如果你正在学习P ...
最新文章
- 多重采样和超级采样哪个流畅_OpenGL多重采样:结果与未使用多重采样时的结果相同...
- Oracle中的rownum和rowid
- 行波和驻波动画演示gif_新技能get√ | 语文课上的笔顺动画可以这么做
- 服务器堡垒机登录方式
- SAR 和光学图像配准研究
- android ifw 启动广告,使用 IFW 完全控制 Android 应用行为 | 实用技巧
- 缓存雪崩,缓存穿透,缓存预热,缓存热备都是什么鬼?
- docker 拉取oracle_Docker 拉取 oracle 11g镜像配置-Go语言中文社区
- 为什么 ++[[]][+[]]+[+[]] = 10 ?
- 文档浏览网站 Docs4dev,内含Spring、SpringBoot、Spring Data等中英文文档
- Grunt安装与入门
- 怎样选择mysql的版本升级_mysql版本升级
- 数据结构与算法 第二章习题课
- 隐藏微信右上角的分享按钮
- CAD绘制填充,从中间挖去一块(网页版)
- 如何去除Mac截图的窗口阴影
- 数学推导+纯Python实现机器学习算法22:EM算法
- HTML+CSS+Javascript简易记账本(localStorage)
- 火狐浏览器打不开,但是进程中有,怎么办?
- win10一行命令查看所有wifi密码
热门文章
- unix入门经典_程序员大神们的经典编程语录
- 视频擦除方向研究(生成技术的一类)
- Squeeze-and-Excitation Networks(SENet )
- 1.x和2.x的区别
- 几种常见的长度单位整理
- [Unity][FlowCanvas] FlowScript 实现切换当前 CineMachine 摄像机
- [有限元] 四结点三角形单元和五结点三角形单元的形函数
- java yeild_Java 中 Thread.yield() 方法详解
- phpcms 后台设置 posid 推荐位(支持多选) - 教程篇
- wampserver的phpmyadmin(默认3306)端口如何更改为3307?