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对RabbitMQ的简单入门使用教程

    Python对RabbitMQ的简单入门使用教程 RabbitMQ是一个开源的消息队列系统,可以用于实现异步消息传递、任务分发等功能。Python提供了多种库,可以用于与RabbitMQ进行交互。本文将详细讲解如何使用Python对RabbitMQ进行简单入门使用,包括如何安装RabbitMQ、如何使用pika库、如何发送和接收消息等。 安装RabbitMQ…

    python 2023年5月15日
    00
  • Python实例练习逆序输出字符串讲解

    Python实例练习中逆序输出字符串,是一个比较基础的字符串反转问题,可以通过多种方法实现,下面就来一一介绍。 方法一:切片反转 python中字符串类型是一种可迭代的数据类型,我们可以通过切片(slice)来反转字符串。代码如下: string = "hello world" reversed_string = string[::-1]…

    python 2023年6月5日
    00
  • Python实现的概率分布运算操作示例

    Python实现的概率分布运算操作示例 概率分布是概率论中的重要概念,它描述了随机变量在不同取值下的概率分布情况。在Python中,我们可以使用许多库来进行概率分布运算,例如NumPy、SciPy和pandas等。这些库提供了许多函数和方法,用于生成、计算和可视化各种概率分布。下面是一个Python实现的概率分布运算操作示例,包含两个示例说明。 示例1:正态…

    python 2023年5月14日
    00
  • Python os模块中的isfile()和isdir()函数均返回false问题解决方法

    如题,Python os模块中的isfile()和isdir()函数在某些情况下可能会返回错误的结果,本文将针对此问题提供完整的解决方案。 问题描述 在使用os.path.isfile()或os.path.isdir()函数判断文件或目录是否存在时,有时候会出现返回错误结果的情况,尤其在使用相对路径时更容易出现此类问题,以下为示例代码: import os …

    python 2023年6月3日
    00
  • python自动填写问卷星问卷以及提交问卷等功能

    我会为您详细讲解如何利用Python实现自动填写问卷星问卷并提交问卷的两种方法。 方法一:使用selenium库模拟人工操作 确认所要填写的问卷星问卷的URL,保存到一个变量中: url = "https://www.wjx.cn/…" 使用selenium库打开浏览器(需要预先安装好对应的浏览器驱动),访问问卷星问卷网址: from…

    python 2023年5月19日
    00
  • Django笔记二十之手动编写migration文件

    本文首发于公众号:Hunter后端原文链接:Django笔记二十之手动编写migration文件 前面介绍过,migration 文件主要记录的是 Django 系统 model 的变化,然后通过 migrate 命令将变化适配到数据库中。 比如在某个 application 下新增了某张表,或者对某张表更改了字段,可以生成 migration 文件,然后通…

    python 2023年4月18日
    00
  • python3.6根据m3u8下载mp4视频

    下面我将为您提供完整的Python3.6根据m3u8下载mp4视频的攻略以及两个示例说明。 一、什么是m3u8? m3u8是指一个文本文件,文件的内容是类似播放列表的一系列的文件或URL链接,这些文件或者链接按照一定的顺序排列,播放设备可以根据这个列表顺序逐个下载这些文件或者链接然后进行播放。 二、怎样通过m3u8文件下载mp4视频? 在Python中,如果…

    python 2023年6月6日
    00
  • Python实现五子棋联机对战小游戏

    Python实现五子棋联机对战小游戏是一项非常有趣的编程挑战,它涉及了Python网络编程、图形界面设计、五子棋游戏规则等多个方面。下面是该项目的完整攻略。 环境准备 首先,你需要安装Python 3.x版本,以及相关的网格布局工具Tkinter、渲染引擎pygame和网络通信库socket。需要的具体库和版本号如下: Python 3.x Tkinter …

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