Python 数据类型–集合set

yizhihongxing

当我们需要对一组数据进行去重、集合运算等操作时,可以使用 Python 中的“集合”(Set)。本文将对 Python 中的集合(Set)数据类型进行详细讲解。

什么是 Set?

Python 的“集合”(Set)是无序的、不重复的集合数据类型。集合类似于列表(list)或元组(tuple),但它们是不同的数据类型。列表和元组中的元素是有序并可以重复;而集合中的元素是无序的并且必须是唯一的。这意味着,列表和元组中可以有重复的元素,而集合中不允许存在重复的元素。

我们可以使用 {}set() 函数来创建 Set。创建空集合时需要使用 set() 函数而不是 {}

# 创建集合
set1 = {1, 2, 3, 4, 5}
set2 = set([1, 2, 3, 4, 5])

# 创建空集合
set3 = set()

Set 常用操作

添加元素

我们可以使用 add() 方法添加单个元素,或使用 update() 方法一次添加多个元素:

# 添加单个元素
set1.add(6)

# 添加多个元素
set1.update([6, 7, 8])

print(set1)  # {1, 2, 3, 4, 5, 6, 7, 8}

删除元素

我们可以使用 remove()discard() 方法删除集合中的元素。它们的区别在于,如果删除一个不存在的元素,remove() 方法会抛出 KeyError 异常,而 discard() 方法不会抛出异常:

set1.remove(6)
set1.discard(7)

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

确定集合的大小

我们可以使用 len() 函数来确定集合包含的元素个数:

print(len(set1))  # 6

判断元素是否在集合中

我们可以使用 innot in 关键字来判断一个元素是否在集合中:

print(2 in set1)  # True
print(7 not in set1)  # True

集合运算

我们可以使用数学上的集合运算,如并集、交集、差集、对称差分等。

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 & set2)  # {4, 5}

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

# 对称差分
print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}

Set 示例

去除列表中重复的元素

lst = [1, 2, 3, 4, 3, 2, 1]
set1 = set(lst)
new_lst = list(set1)
print(new_lst)  # [1, 2, 3, 4]

统计一段文本中出现的不同字符数

text = "This is a test text."
text_set = set(text)
print(len(text_set))  # 12

以上是 Python 中集合(Set)数据类型的详细讲解,希望本文能够帮助您更好地理解和使用它们。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 数据类型–集合set - Python技术站

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

相关文章

  • python实现随机加减法生成器

    下面是Python实现随机加减法生成器的攻略: 1. 准备 首先,我们需要使用Python进行编程,并安装random模块。打开命令行界面,输入以下命令进行安装: pip install random 2. 设计 其次,我们需要设计一个算法来生成随机加减法。我的想法是通过随机数生成两个加数或两个减数,然后再随机生成一个数,用于判断是进行加法还是减法。 代码示…

    python 2023年5月19日
    00
  • Python办公自动化批量处理文件实现示例

    接下来我将为您详细讲解“Python办公自动化批量处理文件实现示例”的完整攻略。 一、准备工作 首先,您需要在您的电脑上安装Python编程环境,并安装相应的额外库,如pandas、openpyxl、docx等。安装方法可以使用pip命令进行安装,例如: pip install pandas openpyxl python-docx 二、文件读取 接下来,我…

    python 2023年5月19日
    00
  • python可迭代对象去重实例

    下面是Python可迭代对象去重的攻略。 什么是可迭代对象 在Python中,可迭代对象是指可以使用for循环进行遍历的对象,比如列表、元组、字典、集合等。可迭代对象是一种数据结构,它保存了一组值,可以被遍历多次。 可迭代对象去重的实现方法 方法一:使用set() Python的set()函数可以用来去重。当把一个可迭代对象转换为set对象后,重复的元素就会…

    python 2023年6月3日
    00
  • Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作

    在进行字符串处理时,常常需要对字符串的开头或结尾进行文本匹配操作。在Python中,可以使用如下方式进行实现。 方法一:字符串的开头或结尾使用startswith()和endswith()方法 Python中的字符串对象提供有startswith()和endswith()方法,分别用于判断字符串是否以指定的前缀或后缀开头或结尾。例如: text = ‘Hel…

    python 2023年6月5日
    00
  • scratch3.0二次开发之用blocks生成python代码

    当你需要让孩子们更深入地学习编程,Scratch是一个非常好的选择。但是,当他们掌握了基础,你可能需要让他们尝试不同的编程环境。这时,Scratch的Python生成器就派上了用场。 下面是Scratch 3.0二次开发之用Blocks生成Python代码的完整攻略: 什么是Scratch 3.0二次开发? Scratch Generators是Scratc…

    python 2023年6月3日
    00
  • 详解Python str.capitalize()和str.title()的区别

    Python中字符串类型的内置方法包括str.capitalize()和str.title(),两者都可以将字符串中的每一个单词的首字母转换成大写,但它们之间有着一些细微的差别,下面就分别进行详细说明。 str.capitalize() str.capitalize()是将字符串的第一个字符转换成大写字母,其他字符均转换成小写字母。如果第一个字符已经是一个大…

    python-answer 2023年3月25日
    00
  • 如何使用Python将Excel文件导入到MySQL数据库中?

    将Excel文件导入到MySQL数据库中是一个常见的任务,Python提供了许多库来完成这个任务。在本攻略中,我们将使用pandas和mysql-connector-python库来完成这个任务。以下是使用Python将Excel文件导入到MySQL数据库的完整攻略。 步骤1:安装必要的库 在使用Python将Excel文件导入到MySQL数据库之前,需要安…

    python 2023年5月12日
    00
  • 使用python进行nc转tif的3种情况解决

    使用Python进行nc转tif的3种情况解决 本文将提供使用Python对nc文件进行tif格式转换的方法,分为以下3种情况: 转换单个nc文件 批量转换nc文件夹下所有文件 批量转换nc多级子文件夹下所有文件 在进行操作之前,请确保您的Python环境配置正确,并且已经安装了相关的库。 1.转换单个nc文件 这是最简单的情况,只需要用Python编写一个…

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