python常用数据结构集合详解

 更新时间:2022年08月26日 10:51:57   作者:小han的日常  
这篇文章主要介绍了python常用数据结构集合详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下,希望对你的学习有所帮助

set集合

集合定义与使用

集合定义:

  • --无序的唯一对象集合
  • --用大括号{}包围,对象相互之间使用逗号分隔
  • --集合是动态的,可以随时添加或删除元素
  • --集合是异构的,可以包含不同类型的数据

集合使用:创建

创建:

  • --通过使用{}填充元素
  • --通过构造方法set()
  • --通过集合推导式
# 集合使用:创建
# 创建
# --通过使用{}填充元素
a = {1, 2, 3}
print(type(a), a)
# --通过构造方法set()
b = set("1")
print(type(b), b)
c = [1, 2, 3, "happy"]
d = set(c)
print(type(d), d)
# --通过集合推导式
e = {i for i in c}
print(type(e), e)
# --注意:不可传空{}来定义集合,会得到字典类型
f = {}
print(type(f))

集合使用:成员检测

  • in:判断元素是否在集合中存在
  • not in :判断元素是否在集合中不存在
# 集合使用:成员检测
# in:判断元素是否在集合中存在
# not in :判断元素是否在集合中不存在
a = {1, 2, 3, 4, 5}
print(1 in a)
print(6 in a)
print(2 not in a)
print(6 not in a)

集合常用方法

add()

add(item):将单个对象添加到集合中

入参:对象item

返回:None

# add()
# add(item):将单个对象添加到集合中
# 入参:对象item
# 返回:None
a = {1, 2, 3}
a.add(4)
print(a)

update()

update(iterable)

批量添加来自可迭代对象中的所有元素

入参:可迭代对象tierable

返回:None

# update()
# update(iterable)
# 批量添加来自可迭代对象中的所有元素
# 入参:可迭代对象iterable
# 返回:None
a = {1, 2, 3}
a.update("happy")
print(a)

remove()

remove(item):从几个中移除指定元素item

入参:指定元素值

返回:None

如果item不存在与集合中则会引发KeyError

# remove()
# remove(item):从几个中移除指定元素item
# 入参:指定元素值
# 返回:None
# 如果item不存在与集合中则会引发KeyError
a = {1, 2, 3, 4}
a.remove(1)
print(a)

discard()

discard(item):从集合中移除指定对象item

入参:指定对象值

返回:None

元素item不存在没印象,不会抛出KeyError错误

# discard()
# discard(item):从集合中移除指定对象item
# 入参:指定对象值
# 返回:None
# 元素item不存在没印象,不会抛出KeyError错误
a = {1, 2, 3, "happy"}
a.discard(2)
print(a)

pop()

pop():随机从集合中移除并返回一个元素

入参:

返回:被移除的元素

如果集合为空则会引发KeyError错误

# pop()
# pop():随机从集合中移除并返回一个元素
# 入参:无
# 返回:被移除的元素
# 如果集合为空则会引发KeyError错误
a = {1, 2, 3, 4, "happy"}
print(a.pop())
print(a)

clear()

clear():清空集合,移除所有元素

入参:

返回:None

# clear()
# clear():清空集合,移除所有元素
# 入参:无
# 返回:None
a = {1, 2, 3, "happy"}
a.clear()
print(a)

集合运算

交集运算

intersection()

操作符:&

# 交集运算
# intersection()
# 操作符:&
a = {1, 2, 3}
b = {2, 3, 4}
print(a.intersection(b))
print(a & b)

并集运算

union()

操作符:|

# 并集运算
# union()
# 操作符:|
a = {1, 2, 3}
b = {2, 3, 4, 5}
print(a.union(b))
print(a | b)

差集运算

difference()

操作符:-

# 差集运算
# difference()
# 操作符:-
a = {1, 2, 3, 4}
b = {2, 3, 4, 5}
print(a.difference(b))
print(a - b)
print(b.difference(a))
print(b - a)

集合推导式

类似列表推导式,同时集合支持集合推导式

语法:{i for i in ... if ...}

# 集合推导式
# 类似列表推导式,同时集合支持集合推导式
# 语法:{i for i in ... if ...}
a = {i for i in [1, 2, 3, 4] if i % 2 == 0}
print(a)

到此这篇关于python常用数据结构集合详解的文章就介绍到这了,更多相关python 集合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python TypeError: ‘float‘ object is not subscriptable错误解决

    Python TypeError: ‘float‘ object is not subscriptable错

    发现问题写python的时候出现了这个错,所以想着给大家总结下,这篇文章主要给大家介绍了关于Python TypeError: ‘float‘ object is not subscriptable错误的解决办法,需要的朋友可以参考下
    2022-12-12
  • 基于python3监控服务器状态进行邮件报警

    基于python3监控服务器状态进行邮件报警

    这篇文章主要介绍了基于python3监控服务器状态进行邮件报警,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Python+OpenCV采集本地摄像头的视频

    Python+OpenCV采集本地摄像头的视频

    这篇文章主要为大家详细介绍了Python+OpenCV采集本地摄像头的视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • 一文带你了解Python列表生成式应用的八重境界

    一文带你了解Python列表生成式应用的八重境界

    在Python中有非常多且好用的技巧,其中使用最多的是列表生成式,往往可以将复杂的逻辑用简单的语言来实现,本文重点介绍列表生成式应用的八重境界
    2022-09-09
  • python3 使用OpenCV计算滑块拼图验证码缺口位置(场景示例)

    python3 使用OpenCV计算滑块拼图验证码缺口位置(场景示例)

    这篇文章主要介绍了python3 使用OpenCV计算滑块拼图验证码缺口位置,本文通过场景示例给大家详细介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Python开发之pip安装及使用方法详解

    Python开发之pip安装及使用方法详解

    这篇文章主要介绍了Python开发之pip安装及使用方法详解,需要的朋友可以参考下
    2020-02-02
  • Python使用Pillow实现图像基本变化

    Python使用Pillow实现图像基本变化

    这篇文章主要为大家详细介绍了Python如何使用Pillow实现图像的基本变化处理,文中的示例代码讲解详细,具有一定的学习价值,需要的可以了解一下
    2022-10-10
  • Python httpstat命令行工具功能使用探索

    Python httpstat命令行工具功能使用探索

    Python httpstat是一个强大的命令行工具,用于深入了解HTTP请求的性能和状态信息,本文将介绍Python httpstat的基本用法、功能特性、示例代码以及实际应用场景,帮助大家更好地理解和利用这个有用的工具
    2024-01-01
  • Python实现Excel和CSV之间的相互转换

    Python实现Excel和CSV之间的相互转换

    通过使用Python编程语言,编写脚本来自动化Excel和CSV之间的转换过程,可以批量处理大量文件,定期更新数据,并集成转换过程到自动化工作流程中,本文将介绍如何使用Python 实现Excel和CSV之间的相互转换,需要的朋友可以参考下
    2024-03-03
  • Python word2vec训练词向量实例分析讲解

    Python word2vec训练词向量实例分析讲解

    这篇文章主要介绍了Python word2vec训练词向量实例分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12

最新评论