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中的exec、eval使用实例
Sep 23 Python
Python 模拟登陆的两种实现方法
Aug 10 Python
Python根据已知邻接矩阵绘制无向图操作示例
Jun 23 Python
Python实现随机漫步功能
Jul 09 Python
python 拼接文件路径的方法
Oct 23 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
python实现图片九宫格分割
Mar 07 Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 Python
wxpython自定义下拉列表框过程图解
Feb 14 Python
Python-jenkins 获取job构建信息方式
May 12 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 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
Content-type 的说明
2006/10/09 PHP
简单的页面缓冲技术
2006/10/09 PHP
ajax实现无刷新分页(php)
2010/07/18 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
Python实现屏幕截图的两种方式
2018/02/05 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python 获取url中的参数列表实例
2018/12/18 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
python算法题 链表反转详解
2019/07/02 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
关于幼儿的自我评价
2013/12/18 职场文书
物理专业大学生职业生涯规划书
2014/02/07 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
工作表扬信范文
2015/01/17 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
入党申请书格式
2019/06/20 职场文书
django上传文件的三种方式
2021/04/29 Python
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
详解在OpenCV中如何使用图像像素
2022/03/03 Python