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对字符串实现去重操作的方法示例
Aug 11 Python
利用Python yagmail三行代码实现发送邮件
May 11 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
python绘图模块matplotlib示例详解
Jul 26 Python
python设置随机种子实例讲解
Sep 12 Python
python打包成so文件过程解析
Sep 28 Python
Python类如何定义私有变量
Feb 03 Python
使用python实现多维数据降维操作
Feb 24 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
python3.7调试的实例方法
Jul 21 Python
关于Python错误重试方法总结
Jan 03 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
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
php实现将上传word文件转为html的方法
2015/06/03 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
浅谈React中组件间抽象
2018/01/27 Javascript
vue实现弹幕功能
2019/10/25 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
python数字图像处理之高级滤波代码详解
2017/11/23 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
python 内置模块详解
2019/01/01 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
python实现图像外边界跟踪操作
2020/07/13 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
档案管理员岗位职责
2013/12/01 职场文书
心理健康心得体会
2014/01/02 职场文书
银行领导证婚词
2014/01/11 职场文书
党章学习思想汇报
2014/01/14 职场文书
参观接待方案
2014/03/17 职场文书
婚前财产协议书范本
2014/10/19 职场文书
小学六一主持词开场白
2015/05/28 职场文书
四大名著读书笔记
2015/06/25 职场文书
董事长开业致辞
2015/07/29 职场文书
考试后的感想
2015/08/07 职场文书