如何在 Python 中检查集合是否为空

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何在 Python 中检查一个集合是否为空。这包括理解空集的概念,并使用不同的方法来判断它们是否为空。

本实验将引导你使用 set() 构造函数创建一个空集,并验证其类型。然后,你将探索如何使用 len() 函数,通过确定集合中元素的数量来检查集合是否为空。最后,你将学习如何将集合作为布尔值进行评估,以检查其是否为空。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/DataStructuresGroup -.-> python/sets("Sets") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559564{{"如何在 Python 中检查集合是否为空"}} python/conditional_statements -.-> lab-559564{{"如何在 Python 中检查集合是否为空"}} python/sets -.-> lab-559564{{"如何在 Python 中检查集合是否为空"}} python/build_in_functions -.-> lab-559564{{"如何在 Python 中检查集合是否为空"}} python/data_collections -.-> lab-559564{{"如何在 Python 中检查集合是否为空"}} end

了解空集

在这一步中,你将了解 Python 中的空集。空集是不包含任何元素的集合。它是集合论中的一个基本概念,在编程中常用来表示一个初始为空但后续可能包含元素的集合。

要在 Python 中创建一个空集,你可以使用不带任何参数的 set() 构造函数。让我们创建一个空集并打印出来,看看它是什么样子。

  1. 在 LabEx 环境中打开 VS Code 编辑器。

  2. ~/project 目录下创建一个名为 empty_set.py 的新文件。

    ~/project/empty_set.py
  3. empty_set.py 文件中添加以下 Python 代码:

    ## Create an empty set
    empty_set = set()
    
    ## Print the empty set
    print(empty_set)
    
    ## Check the type of the variable
    print(type(empty_set))

    这段代码首先使用 set() 创建一个空集,并将其赋值给变量 empty_set。然后,它使用 type() 函数打印 empty_set 的值及其类型。

  4. 在终端中使用以下命令运行 Python 脚本:

    python ~/project/empty_set.py

    你应该会看到以下输出:

    set()
    <class 'set'>

    输出 set() 表明你已成功创建了一个空集。<class 'set'> 确认了变量 empty_set 确实是一个集合对象。

    空集与 None 或空列表 [] 不同。它是一种特定类型的集合,表示元素的缺失。理解如何创建和使用空集对于各种编程任务至关重要,例如在添加元素之前初始化一个集合,或者在执行某些操作之前检查集合是否为空。

使用 len() 进行检查

在这一步中,你将学习如何使用 len() 函数来检查一个集合是否为空。len() 函数会返回集合中元素的数量。对于空集,它将返回 0。这是一种通过编程方式确定集合是否包含任何元素的有用方法。

基于上一步的内容,让我们修改 empty_set.py 文件,以包含 len() 函数。

  1. 在 VS Code 编辑器中打开 empty_set.py 文件。该文件应该位于 ~/project 目录下。

  2. 修改 empty_set.py 文件,添加以下 Python 代码:

    ## Create an empty set
    empty_set = set()
    
    ## Print the empty set
    print(empty_set)
    
    ## Check the type of the variable
    print(type(empty_set))
    
    ## Check the length of the empty set
    print(len(empty_set))

    在这段代码中,我们添加了一行代码,使用 len() 函数来确定 empty_set 中元素的数量,并打印结果。

  3. 在终端中使用以下命令运行 Python 脚本:

    python ~/project/empty_set.py

    你应该会看到以下输出:

    set()
    <class 'set'>
    0

    输出 0 证实了 len() 函数正确地报告了空集的元素数量为 0。

    你还可以使用 len() 来检查非空集合的大小。例如,如果你向集合中添加元素,len() 将返回添加的元素数量。这使得 len() 成为在 Python 中处理集合的一个通用工具。

作为布尔值进行评估

在这一步中,你将学习在 Python 中,空集如何被评估为布尔值。在 Python 里,某些值被视为“真值”(在布尔上下文中评估为 True),而其他值则被视为“假值”(评估为 False)。空集被视为“假值”。这意味着当你在条件语句(如 if 语句)中使用空集时,它会被当作 False 来处理。

让我们修改 empty_set.py 文件来演示这种行为。

  1. 在 VS Code 编辑器中打开 empty_set.py 文件。它应该位于 ~/project 目录下。

  2. 修改 empty_set.py 文件,添加以下 Python 代码:

    ## Create an empty set
    empty_set = set()
    
    ## Print the empty set
    print(empty_set)
    
    ## Check the type of the variable
    print(type(empty_set))
    
    ## Check the length of the empty set
    print(len(empty_set))
    
    ## Evaluate the empty set as a boolean
    if empty_set:
        print("The set is not empty")
    else:
        print("The set is empty")

    在这段代码中,我们添加了一个 if 语句来检查 empty_set 的布尔值。如果 empty_set 是“真值”(非空),它将打印“The set is not empty”;否则,它将打印“The set is empty”。

  3. 在终端中使用以下命令运行 Python 脚本:

    python ~/project/empty_set.py

    你应该会看到以下输出:

    set()
    <class 'set'>
    0
    The set is empty

    输出“The set is empty”证实了空集在布尔上下文中被评估为 False

    这种行为有助于编写简洁易读的代码。例如,在执行需要集合中存在元素的操作之前,你可以先检查集合是否有元素。理解空集如何被评估为布尔值是在 Python 中处理集合的一个重要方面。

总结

在本次实验中,你学习了 Python 中的空集,以及如何使用无参数的 set() 构造函数来创建空集。你还学习了如何使用 type() 函数验证一个变量确实是集合对象。

此外,你开始学习如何使用 len() 函数,通过检查集合中元素的数量来判断集合是否为空。