当前位置: 首页 > article >正文

Python基础之集合使用详解

一、集合的概念

       在Python中,集合(set)是一种无序的、不重复的数据结构。集合中的元素是唯一的,这使得集合非常适合用于去除重复元素、进行集合运算等操作。

二、集合的创建

1. 使用花括号{}创建集合:

示例:

my_set = {1, 2, 3}

2. 使用set()函数创建集合,可以传入可迭代对象,如列表、元组等:

示例:

my_list = [1, 2, 2, 3, 3, 4]

my_set = set(my_list)

print(my_set) # {1, 2, 3, 4}

三、集合的基本操作

1. 添加元素

使用add()方法向集合中添加单个元素:

示例:

my_set = {1, 2, 3}

my_set.add(4)

print(my_set) # {1, 2, 3, 4}

2. 删除元素

      使用remove()方法删除集合中的指定元素,如果元素不存在会引发KeyError :

示例:

my_set = {1, 2, 3}

my_set.remove(2)

print(my_set) # {1, 3}

使用discard()方法删除集合中的指定元素,如果元素不存在不会引发错误:

示例:

my_set = {1, 2, 3}

my_set.discard(4)

print(my_set) # {1, 2, 3}

3. 检查元素是否存在

使用in关键字检查元素是否在集合中:

示例:

my_set = {1, 2, 3}

print(2 in my_set) # True

print(4 in my_set) # False

四、集合的运算

1. 并集

使用union()方法或  |  运算符计算两个集合的并集:

示例:

set1 = {1, 2, 3}

set2 = {3, 4, 5}

print(set1.union(set2)) # {1, 2, 3, 4, 5}

print(set1 | set2) # {1, 2, 3, 4, 5}

2. 交集

使用intersection()方法或 & 运算符计算两个集合的交集:

示例:

set1 = {1, 2, 3}

set2 = {3, 4, 5}

print(set1.intersection(set2)) # {3}

print(set1 & set2) # {3}

3. 差集

使用difference()方法或 - 运算符计算两个集合的差集:

示例:

set1 = {1, 2, 3}

set2 = {3, 4, 5}

print(set1.difference(set2)) # {1, 2}

print(set1 - set2) # {1, 2}

4. 对称差集

       使用symmetric_difference()方法或^运算符计算两个集合的对称差集:

示例:

set1 = {1, 2, 3}

set2 = {3, 4, 5}

print(set1.symmetric_difference(set2)) # {1, 2, 4, 5}

print(set1 ^ set2) # {1, 2, 4, 5}

五、集合的其他特性

1. 集合的长度

       使用len()函数获取集合的长度:

示例:

my_set = {1, 2, 3}

print(len(my_set)) # 3

2. 集合的遍历

       使用for循环遍历集合中的元素:

示例:

my_set = {1, 2, 3}

for element in my_set:

    print(element)

       集合是一种非常有用的数据结构,在Python中可以方便地进行各种集合运算和操作。掌握集合的使用方法,可以提高编程效率,解决许多实际问题。


http://www.kler.cn/news/357529.html

相关文章:

  • 2-127基于matlab的非圆齿轮啮合动画设计
  • 基于Python+Flask的天气预报数据可视化分析系统(源码+文档)
  • Maxwell 底层原理 详解
  • 【Kafka】Kafka Producer的缓冲池机制原理
  • 目标检测数据集图片及标签同步裁剪
  • 下载并安装 WordPress 中文版
  • 数字后端实现静态时序分析STA Timing Signoff之min period violation
  • LeetCode.102 二叉树的层序遍历
  • 【无标题】vertex shader and fragment shader
  • 美摄科技云服务解决方案,方案成熟,接入简单
  • 从零开始搭建图像去雾神经网络(论文复现)
  • 多数元素问题
  • JAVA-石头迷阵小游戏
  • Windows 添加右键以管理员身份运行 PowerShell
  • 关于网络接口监测工具ifstat命令的功能详解以及Linux下lsof命令的使用详解
  • 前端面试题(十八)
  • 进程的优先级
  • Linux 外设驱动 应用 2 KEY 按键实验
  • 【Android】MVP架构
  • Qt-界面优化控件样式设置(72)