07_Python数据类型_集合

news/2024/12/23 5:43:48/

在这里插入图片描述

Python的基础数据类型

  • 数值类型:整数、浮点数、复数、布尔
  • 字符串
  • 容器类型:列表、元祖、字典、集合

集合

集合(set)是Python中一个非常强大的数据类型,它存储的是一组无序且不重复的元素,集合中的元素必须是不可变的,且元素之间用逗号隔开,集合的元素之间用大括号括起来。集合是可变数据类型。

集合的特点:

  • 确定性:集合中的元素是不可变类型。集合是可变数据类型。
  • 互异性:集合中的元素互不相同,不能重复,元素是唯一的。
  • 无序性:集合中的元素无序,即不能通过索引访问集合中的元素。只能遍历。

定义集合

可以使用大括号 {} 或者 set() 函数来创建集合。如果使用大括号,则至少需要包含一个元素;如果使用 set(),则可以创建一个空集合。

python"># 创建一个空集合
empty_set = set()
# 创建一个包含一个元素的集合
single_element_set = {1}
# 创建一个包含几个元素的集合
my_set = {1, 2, 3, 'a', 'b', 'c'}

访问集合元素

由于集合是无序的,因此不能通过索引来访问元素。但是,可以使用循环来遍历集合中的所有元素。

python"># 遍历集合
for element in my_set:print(element)

集合操作

集合支持多种操作,如并集、交集、差集等。

  • 并集(Union):使用 | 运算符或 union() 方法。
  • 交集(Intersection):使用 & 运算符或 intersection() 方法。
  • 差集(Difference):使用 - 运算符或 difference() 方法。
  • 对称差集(Symmetric Difference):使用 ^ 运算符或 symmetric_difference() 方法。
python"># 定义两个集合
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}# 并集
union_set = set1 | set2  # 或 set1.union(set2)
union_set1 = set1.union(set2)
print(union_set)
print(union_set1)
# 交集
intersection_set = set1 & set2  # 或 set1.intersection(set2)
intersection_set1 = set1.intersection(set2)
print(intersection_set)
print(intersection_set1)
# 差集
difference_set = set1 - set2  # 或 set1.difference(set2)
difference_set1 = set1.difference(set2)
print(difference_set)
print(difference_set1)
# 对称差集
symmetric_difference_set = set1 ^ set2  # 或 set1.symmetric_difference(set2)
symmetric_difference_set1 = set1.symmetric_difference(set2)
print(symmetric_difference_set)
print(symmetric_difference_set1)

集合方法

集合还提供了许多有用的方法,如:

  • add():向集合中添加一个元素。
  • remove():从集合中移除一个元素,如果元素不存在,则抛出 KeyError。
  • discard():从集合中移除一个元素,如果元素不存在,则什么也不做。
  • pop():随机移除并返回集合中的一个元素。
  • clear():清空集合中的所有元素。
python"># 向集合中添加元素
my_set.add('d')
print(my_set)# 从集合中移除元素
my_set.remove('a')
print(my_set)# 清空集合
my_set.clear()
print(my_set)

集合推导式

与列表推导式类似,集合推导式可以用来生成集合。

python"># 创建一个包含0-9每个数字的平方的集合
squared_set = {x**2 for x in range(10)}
print(squared_set)
python"># 列表推导式
s = {8, 3, 1, 5, 11}
{i * 2 for i in s}

集合在Python中是一种非常有用的数据类型,特别是在需要快速检查元素是否存在或执行集合运算时。

附件

本文对应的jupyter notebook源码链接,欢迎下载练习:https://download.csdn.net/download/fx_yzjy101/89760705

如有问题请留言。


http://www.ppmy.cn/news/1528400.html

相关文章

css实现居中的方法

水平居中 1. 行内设置text-align 给父元素设置text-align为center,一般用于实现文字水平居中 2. 给当前元素设置margin:0 auto 原理:块级独占一行,表现为在水平方向上占满整个父容器,当水平方向padding,…

2.Seata 1.5.2 集成Springcloud-alibaba

一.Seata-server搭建已完成前提下 详见 Seata-server搭建 二.Springcloud 项目集成Seata 项目整体测试业务逻辑是创建订单后(为了演示分布式事务,不做前置库存校验),再去扣减库存。库存不够的时候,创建的订单信息数…

Lua发邮件:实现自动化邮件发送教程指南!

Lua发邮件高级技巧有哪些?如何利用Lua发送电子邮件? 自动化邮件发送是一个非常实用的功能,广泛应用于各种场景,如通知、提醒、报告生成等。Lua作为一种轻量级脚本语言,因其简洁和高效而受到广泛欢迎。AokSend将详细介…

JVM OutOfMemoryError 与 StackOverflowError 异常

目录 前言 堆溢出 虚拟机栈和本地方法栈溢出 方法区溢出 前言 JVM规范中规定, 除了程序计数器之外, 其他的运行时数据区域, 例如堆栈, 方法区, 都会出现OutOfMemoryError异常. 那么到底是怎么样的代码, 才会引起堆溢出, 栈溢出, 或者是方法区的溢出呢? 如果遇到了又该如何…

“华为杯”第十二届中国研究生数学建模竞赛-D题:面向节能的单/多列车优化决策问题研究(续)(附MATLAB代码实现)

目录 5.2.3 结果分析 5.3 列车延误优化控制模型 5.3.1 模型建立 5.3.2 模型求解 5.3.3 结果分析 6 模型的评价与推广 6.1 模型的优点 6.2 模型的缺点 6.3 模型的推广 参考文献 代码实现 第一题主要程序 第二题主要程序 本文篇幅较长,分为上下两篇,上篇详见面向节能的单/多列车…

传输大咖44 | 云计算企业大数据迁移如何更安全高效?

在云计算时代,数据已成为企业最宝贵的资产之一。对于依赖云服务的企业和组织来说,大数据迁移是实现业务扩展和优化的关键步骤。然而,这一过程并非没有挑战。传统的文件传输方式在安全性、稳定性和速度上往往无法满足云计算企业的需求。本文将…

OpenAI或于9月24日发布ChatGPT高级语音模式

🦉 AI新闻 🚀 OpenAI或于9月24日发布ChatGPT高级语音模式 摘要:科技媒体报道,OpenAI计划在9月24日进一步推广ChatGPT的高级语音模式,预计将正式发布。该模式于7月向部分ChatGPT Plus用户开放,提供更为真实…

数据结构_1、基本概念

1、基本概念 数据:是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素:数据元素是数据的基本单位,通常作为一个整体进行考虑和处理…