跟老齐学Python之集合的关系

接下来我将详细讲解“跟老齐学Python之集合的关系”的完整攻略。

什么是集合?

集合是Python中的一种数据类型,它是一组无序、唯一的元素。集合的创建方式有两种,分别是使用set()函数和使用花括号{}。下面是两种方式的创建集合代码示例:

# 使用 set() 函数创建集合
my_set = set([1, 2, 3, 4, 5])
print(my_set)

# 使用花括号 {} 创建集合
my_set = {1, 2, 3, 4, 5}
print(my_set)

输出结果都是 {1, 2, 3, 4, 5},因为集合是无序的,所以元素在输出时的顺序可能有所不同。

集合的常用操作

添加元素

集合可以使用 add() 方法向其中添加元素,例如:

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

删除元素

集合可以使用 remove()discard() 方法删除元素,例如:

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

交集、并集和差集

  • 交集:集合的交集可以使用 & 运算符或者 intersection() 方法实现。示例代码如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
common_set = set1 & set2
print(common_set)   # 输出: {2, 3}
  • 并集:集合的并集可以使用 | 运算符或者 union() 方法实现。示例代码如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
union_set = set1 | set2
print(union_set)   # 输出: {1, 2, 3, 4}
  • 差集:集合的差集可以使用 - 运算符和 difference() 方法实现。示例代码如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
diff_set = set1 - set2
print(diff_set)   # 输出: {1}

跟老齐学Python中集合的应用

在跟老齐学Python中,集合的应用十分广泛。例如,在查找一个列表中所有不重复元素时,可以使用集合来实现:

my_list = [1, 2, 2, 3, 4, 4, 5, 5]
my_set = set(my_list)
unique_list = list(my_set)
print(unique_list)   # 输出: [1, 2, 3, 4, 5]

另外,在实现诸如统计一段英文文本中各个单词出现次数等操作时,也可以使用集合来帮助我们实现。例如下面的代码,它读取一个文件,并统计其中各个单词出现的次数:

with open('english.txt', 'r') as f:
    text = f.read()

words = text.split()
count_dict = {}
for word in words:
    if word not in count_dict.keys():
        count_dict[word] = 1
    else:
        count_dict[word] += 1

print(count_dict)

但是我们会发现,上面的代码并没有考虑到单词大小写、标点符号等问题,所以统计结果可能不准确。这时候,我们可以通过将所有单词转换成小写,并过滤掉标点符号之后,再统计它们的出现次数。下面的代码演示了如何使用集合帮助我们完成这个操作:

import re

with open('english.txt', 'r') as f:
    text = f.read()

words = re.findall(r'\b\w+\b', text.lower())
count_dict = {}
for word in words:
    if word not in count_dict.keys():
        count_dict[word] = 1
    else:
        count_dict[word] += 1

print(count_dict)

上面的代码使用了正则表达式来过滤标点符号,并将所有单词转换成小写,再进行统计。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:跟老齐学Python之集合的关系 - Python技术站

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

相关文章

  • python数据可视化之日期折线图画法

    接下来我将详细讲解“Python 数据可视化之日期折线图画法”的完整攻略。 一、前言 在数据分析和可视化中,日期处理是一个常见的需求,通过日期折线图可以更直观地反映数据的变化趋势。本文将介绍如何用 Python 中的 matplotlib 包绘制日期折线图。 二、准备工作 在使用 matplotlib 包前,需要安装 Matplotlib 包、Numpy 包…

    python 2023年5月18日
    00
  • Python线程threading(Thread类)

    Python线程threading(Thread类)完整攻略 什么是线程 在计算机科学中,线程是操作系统能够进行运算调度的最小单位。一个线程就是进程中一个单一的顺序控制流程。 线程的特点 线程与进程不同,线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计…

    python 2023年5月19日
    00
  • python3.7 的新特性详解

    Python 3.7的新特性详解 Python 3.7版本于2018年6月发布,它引入了很多新的特性和更新,这些新特性涵盖各种方面,从更好的文本处理到代码性能提升。在本文中,我们将讲解Python 3.7的新特性。 1. Data Classes(数据类) Python 3.7中引入了一个新的装饰器:@dataclass。它可以用于快速创建一个类,该类只需要…

    python 2023年5月13日
    00
  • 基于python-pptx库中文文档及使用详解

    基于python-pptx库中文文档及使用详解 简介 Python-pptx库是一个用于创建、更新和读取Microsoft PowerPoint .pptx 文件的Python库。它允许我们使用Python脚本自动化PowerPoint文件的创建、更新和读取操作,是一个非常方便的工具。 在本文中,我们将详细介绍如何使用python-pptx库创建、更新和读取…

    python 2023年5月18日
    00
  • 如何使用Python在MySQL中使用连接查询?

    以下是如何使用Python在MySQL中使用连接查询的完整使用攻略,包括连接MySQL数据库、创建表、插入数据、使用连接查询等步骤。同时,提供两个示例以便更好理解如何使用Python在MySQL中使用连接查询。 步骤1:连接MySQL数据库 在Python中,我们可以使用pymysql模块连接到MySQL数据库。以下是连接MySQL数据库的基本语法: imp…

    python 2023年5月12日
    00
  • 利用Python代码实现数据可视化的5种方法详解

    利用Python代码实现数据可视化的5种方法详解 数据可视化是将大量呈现庞杂的数据以直观的方式呈现出来,从而帮助人们更好地理解和分析数据。Python是一种非常流行的编程语言,它提供了众多的数据可视化库供人们使用。本文将详细讲解利用Python代码实现数据可视化的5种方法,帮助读者更好地理解和应用数据可视化。 1. Matplotlib Matplotlib…

    python 2023年5月19日
    00
  • Python 实现国产SM3加密算法的示例代码

    首先,为了实现国产SM3加密算法,我们需要先了解该算法的基本原理和步骤。SM3算法是一种哈希加密算法,其基本步骤包括填充、消息扩展、压缩和输出。具体步骤如下: 在消息的末尾进行填充,使得消息的总长度为512-bit的整数倍。 对填充后的消息进行分块,每个块的大小为512-bit。 对分块后的消息进行消息扩展,得到扩展后的消息。 对扩展后的消息进行压缩,得到压…

    python 2023年6月3日
    00
  • Python操作lxml库之基础使用篇

    Python操作lxml库之基础使用篇 lxml是Python中一个常用的XML和HTML处理库,它提供了多种方法和工具,可以方便地解析、修改和生成XML和HTML文档。本文将总结Python操作lxml库的基础使用方法,并提供两个示例说明。 安装lxml库 在使用lxml库之前,我们需要先安装它。可以使用pip命令在命令行中安装lxml库: pip ins…

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