0

0

Python 元组、集合和字典 || #f #daysofMiva 日

王林

王林

发布时间:2024-08-27 18:40:39

|

1130人浏览过

|

来源于dev.to

转载

今天是 #100daysofmiva 的第 5 天 - 请参阅 github 项目

我深入研究了 python 中的三种基本数据结构:元组、集合和字典。这些结构对于有效组织和访问数据至关重要,每个结构都具有独特的特征和用例。这是我所学到的详细报告,包括流程、技术细节和代码示例。

1.元组

定义: 元组是不可变的、有序的元素集合。元组与列表类似,但主要区别在于它们在创建后无法修改。

特点:

不可变: 一旦创建,元组的元素就无法更改(不能分配、添加或删除项目)。

立即学习Python免费学习笔记(深入)”;

有序: 元素保持顺序,并且支持索引。
异构:元组可以存储不同类型的元素。

创建元组

可以使用括号 () 或简单地通过用逗号分隔元素来创建元组。

python

my_tuple = (1, 2, 3)
another_tuple = "a", "b", "c"
singleton_tuple = (42,)  # note the comma, necessary for single element tuples

访问元素

元素可以通过索引来访问,类似于列表。

python
copy code
first_element = my_tuple[0]
last_element = my_tuple[-1]

元组拆包

元组允许一次分配多个变量。

python
copy code
a, b, c = my_tuple
print(a)  # 1
print(b)  # 2
print(c)  # 3

为什么使用元组?

性能: 由于其不变性,元组通常比列表更快。

数据完整性: 不变性确保数据无法更改,使元组成为固定项目集合的理想选择。

hashable: 因为元组是不可变的,所以可以用作字典中的键或集合中的元素。

Python 元组、集合和字典 || #f #daysofMiva 日

2.套装

定义: 集合是唯一元素的无序集合。集合通常用于成员资格测试和消除重复条目。

特点:

无序: 没有维护顺序,因此无法建立索引。

独特元素:每个元素必须是唯一的;重复项会自动删除。

可变: 可以添加或删除元素,尽管元素本身必须是不可变的。

创建集合

集合是使用大括号 {} 或 set() 函数创建的。

python
copy code
my_set = {1, 2, 3, 4}
another_set = set([4, 5, 6])  # creating a set from a list
empty_set = set()  # note: {} creates an empty dictionary, not a set

基本集合操作

集合支持并集、交集、差集等多种运算。

python

# union
union_set = my_set | another_set
print(union_set)  # {1, 2, 3, 4, 5, 6}

# intersection
intersection_set = my_set & another_set
print(intersection_set)  # {4}

# difference
difference_set = my_set - another_set
print(difference_set)  # {1, 2, 3}

会员测试

Voicenotes
Voicenotes

Voicenotes是一款简单直观的多功能AI语音笔记工具

下载

套装针对快速会员测试进行了优化。

python

print(3 in my_set)  # true
print(7 in my_set)  # false

为什么使用集合?

独特元素:非常适合存储需要独特性的物品。

高效运算: 隶属度测试和集合代数(并集、交集)等运算比列表更快。

消除重复: 将列表转换为集合是删除重复的常用技术。

Python 元组、集合和字典 || #f #daysofMiva 日

3.字典

定义:字典是键值对的无序集合。字典中的每个键都是唯一的并映射到一个值。

特点:

键值对: 键是唯一且不可变的,而值可以是任何类型。

无序: 在 python 3.7 之前,字典是无序的。从 python 3.7 开始,它们保持插入顺序。

可变: 可以通过添加、删除或更改键值对来修改字典。

创建字典

字典是使用大括号 {} 创建的,键值对之间用冒号分隔。

python

my_dict = {"name": "alice", "age": 30, "city": "new york"}
another_dict = dict(name="bob", age=25, city="los angeles")
empty_dict = {}

访问值

使用键来访问值。

`蟒蛇

名称 = my_dict["名称"]
age = my_dict.get("age") # 使用 get() 避免 keyerror`

添加和修改条目

字典是动态的;您可以即时添加或修改条目。

python

my_dict["email"] = "alice@example.com"  # adding a new key-value pair
my_dict["age"] = 31  # modifying an existing value

删除条目

可以使用 del 或 pop() 方法删除条目。

python

del my_dict["city"]  # removing a key-value pair
email = my_dict.pop("email", "no email provided")  # removes and returns the value

*字典方法
*

字典有多种有用的方法:

python

keys = my_dict.keys()  # Returns a view of the dictionary's keys
values = my_dict.values()  # Returns a view of the dictionary's values
items = my_dict.items()  # Returns a view of the dictionary's key-value pairs

为什么使用字典?

基于密钥的访问:非常适合需要通过唯一标识符(密钥)快速检索数据的场景。

动态结构: 对于需要随时间增长和变化的数据结构很有用。

高效: 基于键的访问通常比搜索列表或元组更快。

Python 元组、集合和字典 || #f #daysofMiva 日

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

183

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

286

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

258

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

124

2025.08.07

treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

538

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

17

2025.12.22

深入理解算法:高效算法与数据结构专题
深入理解算法:高效算法与数据结构专题

本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

26

2026.01.06

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

813

2026.01.21

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

142

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.3万人学习

Django 教程
Django 教程

共28课时 | 3.6万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号