详细介绍Python中的set集合

yizhihongxing

详细介绍Python中的set集合

简介

set是Python的一种数据结构,类似于数学中的集合概念。set中可以存储多个元素,但每个元素必须是唯一的,即不能出现重复元素。

set是无序的,不能通过下标进行访问,但是可以遍历set中所有元素。

set可以进行交集、并集、差集等操作,是处理相同数据的好工具。

创建set

可以通过以下两种方式创建set:

直接创建

直接用大括号{}创建一个set,可以使用add()方法添加元素。

set1 = {1, 2, 3}
set1.add(4)
print(set1)  # 输出 {1, 2, 3, 4}

使用set()函数

也可以使用set()函数将一个列表或元组转换为set。

list1 = [1, 2, 3]
set1 = set(list1)
print(set1)  # 输出 {1, 2, 3}

tuple1 = (4, 5, 6)
set2 = set(tuple1)
print(set2)  # 输出 {4, 5, 6}

set的基本操作

添加元素

使用add()方法可以向set中添加一个元素。

使用update()方法可以向set中添加多个元素。update()方法的参数可以是列表、元组、字符串等可迭代对象。

set1 = {1, 2, 3}
set1.add(4)
print(set1)  # 输出 {1, 2, 3, 4}

set1.update([5, 6])
print(set1)  # 输出 {1, 2, 3, 4, 5, 6}

删除元素

使用remove()方法可以删除set中的一个元素。

使用discard()方法也可以删除元素,如果元素不存在于set中,discard()方法不会报错,而remove()方法会报错。

set1 = {1, 2, 3}
set1.remove(2)
print(set1)  # 输出 {1, 3}

set1.discard(4)
print(set1)  # 输出 {1, 3}

set1.discard(2)
print(set1)  # 输出 {1, 3}

查询元素

使用in操作符可以判断一个元素是否在set中。

set1 = {1, 2, 3}
print(2 in set1)  # 输出 True

print(4 in set1)  # 输出 False

遍历set

使用for循环可以遍历set。

set1 = {1, 2, 3}
for i in set1:
    print(i)

set的操作

交集

使用&操作符(或者使用intersection()方法)可以得到两个set的交集。

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1 & set2
print(set3)  # 输出 {2, 3}

set4 = set1.intersection(set2)
print(set4)  # 输出 {2, 3}

并集

使用|操作符(或者使用union()方法)可以得到两个set的并集。

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1 | set2
print(set3)  # 输出 {1, 2, 3, 4}

set4 = set1.union(set2)
print(set4)  # 输出 {1, 2, 3, 4}

差集

使用-操作符(或者使用difference()方法)可以得到两个set的差集。

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1 - set2
print(set3)  # 输出 {1}

set4 = set1.difference(set2)
print(set4)  # 输出 {1}

示例说明

示例一

假设有两个列表list1和list2,需要找出它们的交集。可以将list1和list2转换为set,然后计算它们的交集。

list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
set1 = set(list1)
set2 = set(list2)
set3 = set1 & set2
print(set3)  # 输出 {3, 4}

示例二

假设有一个列表list1,其中包含重复元素,需要将重复元素去掉。可以将list1转换为set,然后再转换回列表。

list1 = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
set1 = set(list1)
list2 = list(set1)
print(list2)  # 输出 [1, 2, 3, 4]

以上就是关于Python中的set集合的详细介绍和使用示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详细介绍Python中的set集合 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python使用paramiko实现ssh的功能详解

    Python使用Paramiko实现SSH的功能详解 什么是Paramiko Paramiko是Python下的SSH客户端库,通过Paramiko可以实现远程服务器的连接和操作,包括执行命令、上传下载文件等。使用Paramiko需要安装paramiko库和pycrypto库。 Paramiko的基本用法 连接SSH服务器 使用Paramiko连接SSH服务…

    python 2023年6月3日
    00
  • 对python中数组的del,remove,pop区别详解

    对python中数组的del,remove,pop区别详解 在Python中,数组即列表(list)。在对list进行操作时,会经常用到 del, remove 和 pop 这几个操作函数。本文将详细讲解它们之间的区别。 del操作 del 是Python中的一个语句,它可以用来删除数组中指定位置的元素,也可以用来删除整个数组。它的语法结构如下: del l…

    python 2023年6月5日
    00
  • Python引用类型和值类型的区别与使用解析

    在Python中,变量可以存储不同类型的数据,这些数据可以是值类型或引用类型。值类型是指变量直接存储数据的值,而引用类型是指变量存储的是数据的内存地址。在本文中,我们将详细讲解Python引用类型和值类型的区别与使用。 值类型 Python中的值类型包括整数、浮点数、布尔值、字符串等。这些类型的变量存储的是数据的值,而不是数据的内存地址。当我们将一个值类型的…

    python 2023年5月15日
    00
  • python pillow模块使用方法详解

    Python Pillow模块使用方法详解 Pillow是Python中一个强大的图像处理模块,可以方便地进行图像处理、图像格式转换、图像增强等操作。本文将详细讲解Pillow模块的使用方法,包括图像读取、图像保存、图像缩放、图像裁剪、图像旋转、图像滤镜等操作。 安装Pillow模块 在使用Pillow模块之前,我们需要先安装Pillow模块。可以使用pip…

    python 2023年5月15日
    00
  • 一文教你用python编写Dijkstra算法进行机器人路径规划

    一文教你用Python编写Dijkstra算法进行机器人路径规划 Dijkstra算法是一种用于寻找图中最短路径的算法,它的基本思想是从起点开始逐步扩展到离起点越来越远的节点,直到到达终点为止。在这个过程中,我们维护一个距,用于记录每个节点到起点的距离,以及一个前驱数组用于记录每个节点的前驱节点。在算法结束后,可以通过前驱数组来重构最短路径。 在本文中,我们…

    python 2023年5月14日
    00
  • Python编程中的文件读写及相关的文件对象方法讲解

    Python编程中的文件读写操作是非常常用的操作之一,通过文件读写可以让程序获取数据、存储数据等。本文将详细讲解Python编程中的文件读写操作及相关方法。 打开文件 在进行文件读写操作之前,首先需要打开文件,可以使用Python内置的open()函数来打开文件。 file = open(filename, mode) 其中,filename为要打开的文件名…

    python 2023年6月5日
    00
  • Windows窗口消息实例详解

    Windows窗口消息实例详解 简介 在 Windows 操作系统中,窗口消息是非常重要的概念。这些消息包括用户输入、系统通知以及应用程序间的通信等信息。理解窗口消息的处理方式对于开发 Windows 应用程序非常重要。 本篇文章将详细探讨 Windows 窗口消息的处理,并提供两个实例来帮助理解。 窗口消息的处理方式 消息循环 窗口消息是通过消息循环机制进…

    python 2023年6月3日
    00
  • Python开发技巧之海象运算符的三种运用方式

    Python开发技巧之海象运算符的三种运用方式 什么是海象运算符? 海象运算符(walrus operator),是Python3.8版本新增加的一种运算符,使用符号为“:=”,其作用是在表达式中执行赋值操作并返回赋值的值。这种运算符非常适合需要多次调用相同表达式的场景,并且还可以减少代码的重复编写,提高可读性和开发效率。在Python3.8中,海象运算符已…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部