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保存MongoDB上的文件到本地的方法
Mar 16 Python
Python实现全角半角字符互转的方法
Nov 28 Python
Python 字典与字符串的互转实例
Jan 13 Python
TensorFlow实现卷积神经网络
May 24 Python
Python 字符串换行的多种方式
Sep 06 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
Python 中使用 PyMySQL模块操作数据库的方法
Nov 10 Python
使用 Python 写一个简易的抽奖程序
Dec 08 Python
解决python 读取 log日志的编码问题
Dec 24 Python
Python Print实现在输出中插入变量的例子
Dec 25 Python
Python简单实现区域生长方式
Jan 16 Python
Python 如何对文件目录操作
Jul 10 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
php empty函数 使用说明
2009/08/10 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
做网页的一些技巧
2007/02/01 Javascript
一个可以显示阴历的JS代码
2007/03/05 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
详解JS函数防抖
2020/06/05 Javascript
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
Python实现的tab文件操作类分享
2014/11/20 Python
Python函数式编程指南(三):迭代器详解
2015/06/24 Python
Python算法应用实战之栈详解
2017/02/04 Python
python简单实例训练(21~30)
2017/11/15 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
领导班子四风表现材料
2014/08/23 职场文书
材料物理专业求职信
2014/09/01 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
毕业生自荐信范文
2015/03/05 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
采购部年度工作总结
2015/08/13 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
话题作文之生命的旋律
2019/12/17 职场文书