Python中基础数据类型 set集合知识点总结


Posted in Python onAugust 02, 2021

集合的简介

  • 集合是一个无序、不重复的序列
  • 它的基本用法包括成员检测和消除重复元素
  • 集合对象也支持像 联合,交集,差集,对称差分等数学运算
  • 集合中所有的元素放在 {} 中间,并用逗号分开

集合的例子

这里会有个重点知识

# 声明
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)

set_ = {1, 1, 1, 1, 2}
print(set_)


# 输出结果
{'orange', 'pear', 'banana', 'apple'}
{1, 2}

自动去重了,每个元素只保留一个,且是无序的

再来看一个例子

set_ = {{1, }, {1, }}
print(set_)

set_ = {[1, ], [2, ]}
print(set_)


# 输出结果
    set_ = {{1, }, {1, }}
TypeError: unhashable type: 'set'


    set_ = {[1, ], [2, ]}
TypeError: unhashable type: 'list'

为什么报错?

重点:因为 set 集合只能包含不可变对象元素,而列表、集合本身都是可变对象,所以会报错

集合和列表的区别

列表中的元素允许重复,集合中的元素不允许重复
列表是有序的,提供了索引操作,集合是无序的,没有索引操作

set_ = {1, 1, 1, 1, 2}
set[1]


# 输出结果
    set[1]
TypeError: 'type' object is not subscriptable

提示该类型不能下标

特殊集合

如何创建一个空集合

set_ = {}
print(set_, type(set_))


# 输出结果
{} <class 'dict'>

不可以直接 { },这样默认是一个空字典哦

正确写法

set_ = set()
print(set_, type(set_))


# 输出结果
set() <class 'set'>

常见运算操作

运算符 |

合并多个集合

>>> {1, 2} | {3, 4}
{1, 2, 3, 4}
>>> {1, 2} | {3, 4} | {5, 6}
{1, 2, 3, 4, 5, 6}

运算符 -

从集合中删除元素

>>> {1, 2, 3, 4} - {3, 4, 5, 6}
{1, 2}

运算符 &

取交集,返回两个集合都包含的元素

>>> {1, 2, 3} & {3, 4, 5}
{3}

运算符 ^

取差集

>>> {1, 2, 3} ^ {3, 4, 5}
{1, 2, 4, 5}

关键字 in

检查集合中是否包含指定元素

>>> 'polo' in {'www', 'polo', 'com'}
True
>>> 'yy' in {'www', 'yyy', 'com'}
False

常见函数

len(set)

获取集合的长度

>>> len({1, 2, 3})
3
>>> len({1, 2, 3, 4})
4

max(set)

获取集合中最大的元素

>>> max({1, 2})
2
>>> max({1, 3, 2})
3

min(set)

获取集合中最小的元素

>>> min({1, 2})
1
>>> min({1, 3, 2})
1

集合常见方法

add(item)

向集合中新增一个元素 item

# add
set_ = {1, 2, 3}
set_.add(1)
set_.add(4)
set_.add("5")
print(set_)

# 输出结果

{1, 2, 3, 4, '5'}

remove(item)

从集合中删除指定元素 item

# remove
set_ = {1, 2, 3}
set_.remove(2)
print(set_)


# 输出结果
{1, 3}

clear()

移除集合中的所有元素

# remove
set_ = {1, 2, 3}
print(set_)
set_.clear()
print(set_)


# 输出结果
{1, 2, 3}
set()

pop()

移除集合首位元素,并返回该元素值

# pop
a = {1, 2, 3, 4}
print(a.pop())
print(a.pop())
print(a)


# 输出结果
1
2
{3, 4}

difference()

从源集合中找出目标集合中没有的元素集合

# difference
a = {1, 2, 3, 4}
b = {2, 3, 5}
print(a.difference(b))


# 输出结果
{1, 4}

union()

返回两个集合的并集

# union
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2))


# 输出结果
{1, 2, 3, 4, 5}

intersection()

返回两个集合的交集

# intersection
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.intersection(set2))


# 输出结果
{3}

issubset()

判断指定集合是否为子集

# issubset
set1 = {1, 2}
set2 = {1, 2, 3}
print(set1.issubset(set2))


# 输出结果
True

issuperset()

判断指定集合是否为超集

# issuperset
set1 = {1, 2, 3}
set2 = {1, 2}
print(set1.issuperset(set2))


# 输出结果
True

集合总结

因为集合是不可重复的,所以可以利用它来处理一些需要避免重复插入的场景,比如为了避免某一学生的信息重复录入

以上就是Python中基础数据类型 set集合知识点总结的详细内容,更多关于Python基础数据类型 set 集合的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
详解python中的文件与目录操作
Jul 11 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
Jul 22 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
python中的字典操作及字典函数
Jan 03 Python
Python实现的读写json文件功能示例
Jun 05 Python
Python hashlib模块用法实例分析
Jun 12 Python
Python爬虫beautifulsoup4常用的解析方法总结
Feb 25 Python
python 调试冷知识(小结)
Nov 11 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 Python
python unittest单元测试的步骤分析
Aug 02 #Python
python元组打包和解包过程详解
Aug 02 #Python
python字典进行运算原理及实例分享
Aug 02 #Python
Python中可变和不可变对象的深入讲解
Python基础数据类型tuple元组的概念与用法
Aug 02 #Python
opencv用VS2013调试时用Image Watch插件查看图片
基于python定位棋子位置及识别棋子颜色
You might like
风格模板初级不完全修改教程
2006/10/09 PHP
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
WordPress JQuery处理沙发头像
2009/06/22 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
通过javascript把图片转化为字符画
2013/10/24 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
司机岗位职责
2013/11/15 职场文书
薪酬专员岗位职责
2014/02/18 职场文书
户外活动总结范文
2014/04/30 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
个人售房合同协议书
2016/03/21 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
DIY胆机必读:各国电子管评价
2022/04/06 无线电
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android