深入理解Python的字典与集合

部署运行你感兴趣的模型镜像

Python的字典(Dictionary)和集合(Set)是两种非常重要的数据结构,它们在数据处理和算法实现中扮演着至关重要的角色。本文将深入探讨这两种数据结构的内部机制、常见操作以及优化策略,并通过示例代码来帮助读者更好地理解和掌握它们。

一、字典(Dictionary)

字典是Python中用于存储键值对(key-value pair)的数据结构。它允许我们通过一个键来快速查找、添加、修改或删除与键关联的值。

创建字典
字典使用花括号{}来定义,每个键值对之间使用逗号,分隔。键必须是不可变类型(如整数、浮点数、字符串、元组等),而值可以是任意类型。

python
# 创建一个字典  
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}  
print(my_dict)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}
访问字典元素
通过键来访问字典中的值。

python
print(my_dict['name'])  # 输出: Alice
如果键不存在,则会引发KeyError异常。为了避免这种情况,可以使用get()方法,并指定一个默认值。

python
print(my_dict.get('country', 'Unknown'))  # 输出: Unknown
修改字典元素
通过键来修改字典中的值。

python
my_dict['age'] = 31  
print(my_dict)  # 输出: {'name': 'Alice', 'age': 31, 'city': 'New York'}
添加和删除字典元素
使用赋值语句向字典中添加新元素,使用del语句或pop()方法删除元素。

python
# 添加新元素  
my_dict['email'] = 'alice@example.com'  
print(my_dict)  # 输出: {'name': 'Alice', 'age': 31, 'city': 'New York', 'email': 'alice@example.com'}  
  
# 删除元素  
del my_dict['email']  
print(my_dict)  # 输出: {'name': 'Alice', 'age': 31, 'city': 'New York'}  
  
# 使用pop()方法删除元素并返回其值  
email = my_dict.pop('email', 'Not Found')  # 如果'email'键不存在,则返回'Not Found'  
print(email)  # 输出: Not Found
字典的遍历
可以使用for循环遍历字典的键、值或键值对。

python
# 遍历键  
for key in my_dict:  
    print(key)  
  xiaohanpc.com/9qd546/
m.xiaohanpc.com/9qd546/
www.xiaohanpc.com/9qd546/                   
yysyled.com/9qd546/
m.yysyled.com/9qd546/
www.yysyled.com/9qd546/
szseadream.com/9qd546/
m.szseadream.com/9qd546/
www.szseadream.com/9qd546/
mofangshi.com/9qd546/
m.mofangshi.com/9qd546/
www.mofangshi.com/9qd546/
jxxlhg.com/9qd546/
m.jxxlhg.com/9qd546/
www.jxxlhg.com/9qd546/
hnzhengxiang.com/9qd546/
m.hnzhengxiang.com/9qd546/
www.hnzhengxiang.com/9qd546/            
cmwumi.com/9qd546/
m.cmwumi.com/9qd546/
www.cmwumi.com/9qd546/
# 遍历值  
for value in my_dict.values():  
    print(value)  
  
# 遍历键值对  
for key, value in my_dict.items():  
    print(key, value)
二、集合(Set)

集合是一个无序且不包含重复元素的数据结构。它提供了对集合的基本操作,如交集、并集、差集等。

创建集合
集合使用花括号{}或set()函数来定义。注意,如果使用花括号创建空集合,必须包含一个空格,否则会被解释为空字典。

python
# 使用花括号创建集合  
my_set = {1, 2, 3, 4, 4}  # 重复元素会被自动去重  
print(my_set)  # 输出: {1, 2, 3, 4}  
  
# 使用set()函数创建集合  
my_set = set([1, 2, 3, 4, 4])  
print(my_set)  # 输出: {1, 2, 3, 4}  
  
# 创建空集合(必须包含一个空格)  
empty_set = set()  
print(empty_set)  # 输出: set()
集合的基本操作
集合支持常见的集合操作,如并集(|)、交集(&)、差集(-)和对称差集(^)。

python
# 创建两个集合  
set1 = {1, 2, 3}  
set2 = {2, 3, 4}  
  
# 并集  
union_set = set1 | set2  
print(union_set)  # 输出: {1, 2, 3, 4}
 

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

【为什么学PythonPython 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就选择了Python,并且开始着手出版《跟老齐学Python》。时至今日,已经无需争论。Python给我们带来的,不仅仅是项目上的收益,我们更可以从它“开放、简洁”哲学观念中得到技术发展路线的启示。 借此机会,老齐联合优快云推出了本课程,希望能影响更多的人走进Python,踏入编程的大门。 【课程设计】 本课程共包含三大模块: 一、基础知识篇 内置对象基本的运算、语句,是Python语言的基础。本课程在讲解这部分知识的时候,不是简单地将各种知识做简单的堆砌,而是在兼顾内容的全面性的同时,更重视向学习者讲授掌握有关知识的方法,比如引导学习者如何排查错误、如何查看理解文档等。   二、面向对象篇 “面向对象(OOP)”是目前企业开发主流的开发方式,本课程从一开始就渗透这种思想,并且在“函数”“类”的学习中强化面向对象开发方式的学习——这是本课程一般课程的重要区别,一般的课程只在“类”这里才提到“对象”,会导致学习者茫然失措,并生畏惧,乃至于放弃学习。本课程则是从开始以“润物细无声”的方式,渗透对象概念,等学习到本部分的时候,OOP对学习者而言有一种“水到渠成”的感觉。   三、工具实战篇 在项目实战中,除了前述的知识之外,还会用到很多其他工具,至于那些工具如何安装?怎么自己做工具?有那些典型工具?都是这部分的内容。具体来说,就是要在这部分介绍Python标准库的应用以及第三方包的安装,还有如何开发发布自己的工具包。此外,很多学习Python的同学,未来要么从事数据科学、要么从事Web开发,不论哪个方向,都离不开对数据库的操作,本部分还会从实战的角度,介绍如何用Python语言操作常用数据库。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值