Python中的 Set 与 dict

当我们在 Python 中使用集合时,有两种主要的数据结构可用:Set 和 dict。虽然它们看起来很相似,但实际上在使用方式和性能上有一些不同之处。

Set

Set 是一种无序的、可哈希、不可重复的集合数据类型。在 Python 中,我们可以使用 set() 函数来创建一个空的集合,或者使用大括号 {} 来创建一个含有元素的集合。

创建集合

下面是两个创建集合的示例:

# 创建空集合
set1 = set()
print(set1)  # 输出 set()

# 创建含有元素的集合
set2 = {1, 2, 3}
print(set2)  # 输出 {1, 2, 3}

添加、删除元素

我们可以使用 add() 方法向集合中添加元素,使用 remove() 或 discard() 方法删除集合中的元素。

set2 = {1, 2, 3}

# 向集合中添加元素
set2.add(4)
print(set2)  # 输出 {1, 2, 3, 4}

# 删除集合中的元素
set2.remove(2)
print(set2)  # 输出 {1, 3, 4}

需要注意的是,如果我们使用 remove() 方法删除的元素不存在于集合中,将会抛出 KeyError 异常。而使用 discard() 方法则不会抛出异常。

集合操作

Set 拥有一些常用的集合操作,例如并集、交集和差集等:

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

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

# 交集
set4 = set1 & set2
print(set4)  # 输出 {3, 4}

# 差集
set5 = set1 - set2
print(set5)  # 输出 {1, 2}

Dict

Dict 是 Python 中另一个非常常用的数据结构,它是一个由键-值对组成的无序集合。

创建字典

我们可以使用大括号 {} 和冒号 : 来创建一个带有键值对的字典。如果我们想要创建一个空的字典,可以使用 dict() 函数来实现。

# 创建带有键值对的字典
dict1 = {"name": "Alice", "age": 18}
print(dict1)  # 输出 {'name': 'Alice', 'age': 18}

# 创建空字典
dict2 = dict()
print(dict2)  # 输出 {}

访问元素

我们可以通过字典中的键来访问相应的值。如果该键不存在于字典中,Python 将会抛出 KeyError 异常。另外,字典中的元素没有顺序之分。

dict1 = {"name": "Alice", "age":18}

# 访问字典中的元素
print(dict1["name"])  # 输出 Alice

# 字典中的元素没有顺序
dict2 = {"age": 18, "name": "Bob"}
print(dict1 == dict2)  # 输出 False

添加、删除元素

我们可以使用以下方法来向字典中添加或删除元素:

dict1 = {"name": "Alice", "age":18}

# 向字典中添加元素
dict1["gender"] = "female"
print(dict1)  # 输出 {'name': 'Alice', 'age': 18, 'gender': 'female'}

# 删除字典中的元素
del dict1["age"]
print(dict1)  # 输出 {'name': 'Alice', 'gender': 'female'}

字典操作

字典也有一些常用的操作,例如获取所有的键或值,使用 items() 方法获取所有的键值对。

dict1 = {"name": "Alice", "age": 18}

# 获取所有的键
keys = dict1.keys()
print(keys)  # 输出 dict_keys(['name', 'age'])

# 获取所有的值
values = dict1.values()
print(values)  # 输出 dict_values(['Alice', 18])

# 获取所有的键值对
items = dict1.items()
print(items)  # 输出 dict_items([('name', 'Alice'), ('age', 18)])

以上就是 Python 中 Set 和 dict 的详细介绍。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中的 Set 与 dict - Python技术站

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

相关文章

  • Python实现画图软件功能方法详解

    Python实现画图软件功能方法详解 在Python中,有多种第三方库可以用来实现画图软件的功能。常用的有Pillow、Matplotlib、PyQtGraph等。下面以Pillow和Matplotlib为例介绍如何实现画图软件的主要功能。 图像绘制 用Pillow绘制图像 Pillow是Python Imaging Library(PIL)的分支,是一款功…

    python 2023年5月19日
    00
  • python自动化之re模块详解

    下面是详细的攻略: Python自动化之re模块详解 Python的re模块是用于正则表达式操作的模块,它提供了一系列函数来进行正则表达式匹配和替换。在自动化测试中,我们经常需要使用正则表达式来匹配和提取字符串。本文将详细介绍Python自动化之re模块的使用,并提供两个示例说明。 re模块基础 在使用re模块之前,我们需要先了解一些基础知识。下面是一些常用…

    python 2023年5月14日
    00
  • python使用tkinter模块实现文件选择功能

    下面就是使用 Python 的 tkinter 模块实现文件选择功能的完整攻略。 一、Tkinter 的介绍 Tkinter 是 Python 中最常用的 GUI 工具包,其提供了一组面向对象的 Python 绑定,可以让程序员在 Python 中使用 Tcl/Tk 的 GUI 能力。Tkinter 相对于其他 Python GUI 工具包有着广泛的口碑和期…

    python 2023年6月13日
    00
  • PyQt5使用mimeData实现拖拽事件教程示例解析上

    PyQt5是最流行的Python GUI工具包之一,它允许用户使用Python语言通过简单而有效的方式创建GUI应用程序。其中一个非常常用的功能就是拖拽(drag and drop)操作。在本文中,我们将详细讲解如何使用mimeData来实现拖拽操作,并提供两个示例来演示如何利用mimeData进行拖拽操作。 介绍 拖拽操作(drag and drop)是指…

    python 2023年6月13日
    00
  • 解决Python logging模块无法正常输出日志的问题

    解决Python logging模块无法正常输出日志的问题 Python的logging模块是一个非常强大的日志记录工具,可以帮助我们记录应用程序的运行状态和信息。但是,在logging模块,有时会遇到无法正常输出日志的问题。本文将介绍如何解决Python logging模块无法正常输出日志的问题。 问题描述 在Python logging模块时,有时会遇到…

    python 2023年5月14日
    00
  • 使用Python将语音转换为文本的方法

    关于Python进行语音转文本有许多库可以选择,下面将介绍其中的两个库——SpeechRecognition和pocketsphinx。其中的pocketsphinx是CMU Sphinx的轻量版,是一个C语言的语音解码器引擎,也是一个被广泛使用的语音识别引擎。SpeechRecognition则是一款基于Python的语音识别库,可以调用不同的语音识别AP…

    python 2023年6月6日
    00
  • python处理圆角图片、圆形图片的例子

    处理圆角图片和圆形图片是图片处理中比较常见的需求,在Python中也有很多方法来实现这个功能,下面我将为您提供完整的攻略。 处理圆角图片 方法一:Pillow库 Pillow库是Python中的一款图像处理库,它可以方便地处理图片,其中包括处理圆角图片的功能。 示例代码如下: from PIL import Image, ImageDraw def roun…

    python 2023年5月19日
    00
  • Python:如何在新的终端窗口/命令提示符中执行线程?

    【问题标题】:Python: How to execute a thread in a new terminal window/command prompt?Python:如何在新的终端窗口/命令提示符中执行线程? 【发布时间】:2023-04-04 20:04:01 【问题描述】: 如何在新的终端窗口/命令提示符下执行脚本中的线程?这样线程的结果将显示在一…

    Python开发 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部