news 2026/5/11 18:18:53

python 第六章 字典

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python 第六章 字典

# 简单的字典案例

alien_0 = {'color':'green','points':5}

print(alien_0['color'])

print(alien_0['points'])

# 看了这个例子许多朋友应该就知道字典是什么了,其实就是类似于键值对的形式

# 字典的使用:字典放在花括号{},用一系列键值对表示,如上述示例所示

# 键值对包含两个相互关联的值,当你指定键时,python会返回与之关联的1,键和值之间用冒号分隔,而键值对用之间用逗号分隔.在字典中,可以存储任意多个键值对

# 访问字典中的值:要获取与键关联的值,可指定字典名并把键放在后面的方括号

print(alien_0['color'])

# 添加键值对:字典是一种动态结构,可随时在其中添加键值对.要添加键值对,可依次指定字典名、用方括号括起来的键和与该键关联的值,字典会保留定义时的元素排列顺序,并且添加键值对时,键值对排列顺序和添加顺序相同

print(alien_0)

alien_0['x_position']=100

print(alien_0)

# 修改字典中的值:要修改字典中的值,可一次指定字典名、用方括号括起来的键和与该键关联的新值

alien_0['color']='yellow'

print(alien_0)

# 删除键值对:对于字典中不再需要的信息,可使用del语句将对应的键值对彻底删除.再使用del语句时,必须指定字典名和要删除的键(一样的是del语句删除一样是彻底删除)

print(alien_0)

del alien_0['points']

print(alien_0)

# 使用get()来访问值:使用放在方括号内的键从字典中获取感兴趣的值,可能会引发问题:如果指定的键不存在,就将出错

# 这时可以用get()来避免这种错误,使用get()时,可以指定键不存在时返回默认值,第一个参数是

# 想找的键,存在即返回值,不存在就返回第二个参数的默认值,第二个参数也可以为空

alien_0 = {'color':'green','points':5}

print(alien_0.get('color'))

print(alien_0.get('points'))

print(alien_0.get('name','这个键不存在'))

print(alien_0.get('name'))

# 遍历字典

# 遍历所有的键值对

# alien_0.items()用来返回一个键值对列表,然后for循环依次将每个键值对赋给指定的两个变量

for key,value in alien_0.items():

print(f"key:{key}")

print(f"value:{value}")

# 遍历字典中的所有键

# 如果说for key in alien_0:这也是返回键,因为默认就是键

for key in alien_0.keys():

print(key)

# 按特定的顺序遍历字典中的所有键,这里这个sorted()函数会返回一个列表,这个列表中的元素是按照字典中键的顺序排列的,我们在之前见过

for key in sorted(alien_0.keys()):

print(key)

# 遍历字典中的所有值

for value in alien_0.values():

print(value)

# 有时候我们怕值中有重复值,可以使用集合(set),集合中的每个元素都必须是独一无二的。这点和其他语言中的hashset或者set很像

values = set(alien_0.values()) #这里我们可以现在字典里面加入重复的值,然后再看看效果。

print(values)

# 创建一个空字典

alien_1 = {}

# 创建一个空集合

alien_2 = set()

# 创建一个集合

alien_3 = {'green',5}

print(type(alien_1))

print(type(alien_2))

print(type(alien_3))

# 打印上面三个输出,应该就能明白了,集合就是花括号,里面用逗号分隔,没有冒号

# 嵌套

# 字典列表

alien_0={'color':'green','points':5}

alien_1={'color':'yellow','points':10}

alien_2={'color':'red','points':15}

aliens=[alien_0,alien_1,alien_2]

for alien in aliens:

print(alien)

# 在字典中存储列表

people={'name':'zhangsan','age':18,'hobby':['football','basketball']}

print(people['hobby'])

# 在字典中存储字典

people={'name':'zhangsan','age':18,'hobby':{'football':'good','basketball':'bad'}}

print(people['hobby']['football'])

# 在字典中存储元组

people={'name':'zhangsan','age':18,'hobby':('football','basketball')}

print(people['hobby'][0])

# 在字典中存储集合

people={'name':'zhangsan','age':18,'hobby':{'football','basketball'}}

print(people['hobby'])

# 到这里,字典的只是差不多已经结束了,我这里并没有用书本里的例子,我认为我们只需要掌握到这里,其他的我们碰到需求时再去想就够够的了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 5:09:07

旅游景区多语种解说牌背后的AI引擎

旅游景区多语种解说牌背后的AI引擎 在苏州园林的一处假山旁,一位日本游客掏出手机扫码,耳边立刻响起一段温婉的吴语腔调日语解说:“这里曾是清代文人雅集之地……”语气中带着淡淡的怀旧与敬意。不远处,一名儿童正踮脚触摸石碑上的…

作者头像 李华
网站建设 2026/5/9 22:44:55

使用 VictoriaLogs 存储和查询服务器日志

目前为止,我查询服务器日志的方式都是小作坊式做法,先是连进服务器找到日志文件,要么使用 vim 打开文件搜索要么就是用 grep。当前我只有一个服务器进程,操作起来还好,但是如果需要增加服务器进程数量进行负载均衡的话…

作者头像 李华
网站建设 2026/5/5 14:43:27

编译器细节:动态链接与静态链接行为分析

与ld.so (以 Alpine 为例)背景:Alpine Linux 是一个基于 musl libc 和 busybox 构建的轻量级 Linux 发行版,专注于安全性、资源效率和简洁性。它被广泛用于 Docker 容器、嵌入式系统和云计算环境。基本概念:gcc 和 ld.…

作者头像 李华
网站建设 2026/5/10 18:19:30

EmotiVoice助力数字人语音驱动

EmotiVoice:让数字人“声”动起来 在一场虚拟偶像的直播中,观众听到她用温柔又略带伤感的声音讲述一段往事——语调起伏自然,情感真挚得几乎让人忘记这并非真人即兴表达。而就在几分钟前,这个角色还以活泼欢快的语气与粉丝互动抽奖…

作者头像 李华
网站建设 2026/5/9 0:49:26

EmotiVoice API接口调用指南:快速集成至现有项目

EmotiVoice API 接口调用实战:从零集成高表现力语音合成 在智能语音应用日益普及的今天,用户早已不再满足于“机器念字”式的生硬播报。无论是游戏中的角色对话、有声书的情感演绎,还是语音助手的日常交互,人们期待的是更自然、更…

作者头像 李华
网站建设 2026/5/3 21:33:27

veScale:终极PyTorch分布式训练框架完整指南

veScale:终极PyTorch分布式训练框架完整指南 【免费下载链接】veScale A PyTorch Native LLM Training Framework 项目地址: https://gitcode.com/gh_mirrors/ve/veScale veScale是一个基于PyTorch原生的大规模语言模型训练框架,专为简化分布式训…

作者头像 李华