Python中集合类型(set)学习小结

Python中集合类型(set)学习小结

概述

Python中的集合(set)是一种用于存储无序但唯一元素的数据类型。它基于数学中的集合概念,并且支持集合的各种数学运算。集合可以包含任何可哈希的数据类型,但集合本身是不可哈希的,而且没有顺序。

与列表和元组不同,集合没有索引,因此不能通过索引访问元素。但是,集合支持的操作范围更广,比如交集、并集、差集等等。

创建集合

可以使用花括号({})或set()函数来创建集合。注意,如果使用花括号来创建空集合,必须使用set()函数。否则,花括号创建的将是一个空字典。

# 创建集合
set1 = {1, 2, 3, 4, 5}
set2 = set('hello')
set3 = set()

# 打印集合
print(set1)  # {1, 2, 3, 4, 5}
print(set2)  # {'e', 'l', 'h', 'o'}
print(set3)  # set()

集合运算

并集

并集是指两个集合的所有元素的集合。使用|运算符或union()方法进行并集计算。

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 计算并集
print(set1 | set2)          # {1, 2, 3, 4, 5, 6, 7, 8}
print(set1.union(set2))     # {1, 2, 3, 4, 5, 6, 7, 8}

交集

交集是指两个集合中都包含的元素的集合。使用&运算符或intersection()方法进行交集计算。

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 计算交集
print(set1 & set2)                  # {4, 5}
print(set1.intersection(set2))      # {4, 5}

差集

差集是指只属于一个集合而不属于另一个集合的元素的集合。使用-运算符或difference()方法进行差集计算。

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 计算差集
print(set1 - set2)                  # {1, 2, 3}
print(set1.difference(set2))        # {1, 2, 3}

对称差

对称差是指两个集合中所有不相同元素的集合。使用^运算符或symmetric_difference()方法进行对称差计算。

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 计算对称差
print(set1 ^ set2)                  # {1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))      # {1, 2, 3, 6, 7, 8}

其他集合操作

添加元素

使用add()方法来向集合中添加元素。

set1 = {1, 2, 3, 4, 5}

# 添加元素
set1.add(6)
print(set1)  # {1, 2, 3, 4, 5, 6}

删除元素

使用remove()方法从集合中删除元素。

set1 = {1, 2, 3, 4, 5}

# 删除元素
set1.remove(3)
print(set1)  # {1, 2, 4, 5}

示例说明

示例一

下面的示例演示如何使用集合来统计一个字符串中不同字符的个数。

s = 'hello, world'
unique_chars = set(s)

print(len(unique_chars))  # 10

示例二

下面的示例演示如何使用集合来去除一个列表中的重复元素。

lst = [1, 2, 3, 4, 3, 2, 1]
unique_lst = set(lst)

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

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中集合类型(set)学习小结 - Python技术站

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

相关文章

  • Python 装饰器实现DRY(不重复代码)原则

    一、什么是DRY原则 DRY指的是Don’t Repeat Yourself 不要重复自己。DRY 原则是软件工程中的一种经典理论,它强调避免重复代码。重复代码是一种代码“坏味道”,会增加代码的复杂性、维护成本和代码的可读性。 二、装饰器是什么 Python中,装饰器是一种可以动态地修改一个函数或类的行为的技术。装饰器本质上是一个函数,它的输入是被装饰的函数…

    python 2023年6月3日
    00
  • python实现学生信息管理系统(精简版)

    Python实现学生信息管理系统(精简版)攻略 简介 本文将介绍如何使用Python编写一个简单的学生信息管理系统。在该系统中,我们将使用文件来存储学生信息,并提供添加、删除、修改、查询等基本功能。在操作时,我们将使用命令行交互,用户可以根据提示输入相应的指令来实现操作。 环境配置 在开始之前,我们需要确保Python环境已经安装并正确配置。 首先,我们需要…

    python 2023年5月19日
    00
  • pip install python-Levenshtein失败的解决

    当我们尝试使用pip install命令安装python-Levenshtein时,可能会遇到以下错误信息:ModuleNotFoundError: No module named ‘distance’ 这是因为在安装python-Levenshtein时,需要同时安装C扩展库,而这个C扩展库并不在pip的默认安装源之中。因此,我们需要手动安装这个C扩展库才…

    python 2023年5月14日
    00
  • python使用itchat库实现微信机器人(好友聊天、群聊天)

    Python使用itchat库实现微信机器人(好友聊天、群聊天) 介绍 微信机器人是一种可以模拟人类逻辑回答用户发送的信息的程序。Python中使用itchat库实现微信机器人较为简单。itchat库是一个封装了微信Web版API的开源库,它可以帮助我们使用Python轻松地控制微信。 安装itchat库 在使用itchat库之前,需要先安装itchat库。…

    python 2023年5月23日
    00
  • 在Python中操作文件之seek()方法的使用教程

    在Python中操作文件之seek()方法的使用教程 在Python中,我们可以使用open()函数打开文件,并进行文件操作。其中,seek()方法用于改变文件读写位置。 语法格式 file.seek(offset[, whence]) 参数说明 offset:表示要移动的字节数,可以为负数。 whence:表示移动方式,可选参数,表示从哪个位置开始偏移。 …

    python 2023年6月3日
    00
  • Python安装依赖(包)模块方法详解

    我来详细讲解一下Python安装依赖(包)模块方法的攻略。 什么是Python依赖包? 在Python程序中,依赖包指的是程序中需要用到的第三方库或模块,这些库或模块并不是Python自带的,需要通过pip等工具安装后才能使用。 Python安装依赖包的方法 使用pip安装 pip是Python的包管理工具,可以通过它来安装Python的依赖包。常见的安装方…

    python 2023年5月14日
    00
  • python实现windows下文件备份脚本

    下面我将详细讲解 “Python实现Windows下文件备份脚本”的攻略。 1. 需求分析和方案设计 我们需要实现一个Python脚本,可以在Windows系统下,将指定目录中的文件进行备份。根据需求分析,我们需要实现以下功能: 备份时间的设定:用户可以指定备份时间,只有到了指定的时间才进行备份。 忽略一些特定的目录或者文件。 当存在同名文件时,根据用户的设…

    python 2023年6月3日
    00
  • 使用pyscript在网页中撰写Python程式的方法

    当然,我很乐意为您提供“使用pyscript在网页中撰写Python程式的方法”的完整攻略。以下是详细步骤和示例。 使用pyscript在网页中撰写Python程式的方法 pyscript是一种在网页中撰写Python程式的方法,它可以让用户在网页中直接编写Python代码,并且可以实时运行和试代码。以下是使用pyscript在网页中撰写Python程式的完…

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