设为首页
收藏本站
切换到宽版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
VIP用户组
官网群
无名商城论坛
»
论坛
›
资源分享区
›
学习资源专区
›
【LSP】数据结构—字典
返回列表
发帖
查看:
240
|
回复:
0
[其他技术]
【LSP】数据结构—字典
[复制链接]
无名
无名
当前离线
积分
32464
1万
主题
1万
帖子
3万
积分
管理员
积分
32464
发消息
发表于 2022-5-8 17:02:42
|
显示全部楼层
|
阅读模式
1、字典概述
dict(字典)可能是Python内建数据结构中最重要的。它更为常用的名字是哈希表或者是关联数组。字典是拥有灵活尺寸的键值对集合,其中键和值都是Python对象。用括号
{ }是创建字典的一种方式,在字典中用逗号将键值对分隔:
你可以访问、插入或设置字典中的元素,就像访问列表和元素中的元素一样:
你可以用检查列表或元组中是否含有一个元素的相同语法来检查字典是否含有一个键:
你可以使用del关键字或pop方法删除值,pop方法会在删除的同时返回被删的值,并删除键:
Keys方法和values方法分别会分别为你提供字典键、值的迭代器。然而键值对并没有特定的顺序,这些函数输出的键、值都是按照相同的顺序:
你可以使用update方法将两个字典合并:
update方法改变了字典中元素位置,因此对于任何原字典中已经存在的键,如果传给update方法的数据也含有相同的键,则它将会被覆盖。
1.1 默认值
通常情况下,会有这样的代码逻辑:
if key in some_dict:
value = some_dict[key]
else:
value = default_value
不过字典的get方法和pop方法可以返回一个默认值,因此上述if-else 代码块可以被简写为:
value = some_dict.get(key, default_value)
带有默认值的get方法会在key 参数不是字典的键时返回None,而pop会抛出异常。一个常见的场景时字典中的值集合通过设置,成为另一种集合,比如列表。
举个例子,你可以想象一下将字词组成的列表根据首字母分类为包含列表的字典:
字典的setdefault方法就是为了这个目的二产生的,上述的for循环语句可以被写为:
总结:python中字典setdefault()函数和get()方法类似,如果键不存在与字典中,将会添加键并将值设置为默认值
setdefault()语法
dict.setdefault(key,default = None)
key--查找的键值
default--键不存在时,设置的默认键值。
1.2 有效的字典键类型
尽管字典的值可以是任何Python对象,但键必须是不可变的对象,比如标量类型(整数、浮点型、字符串)或元组(且元组内对象也必须是不可变对象)。这里
要用到一个术语叫做哈希化,通过hash函数可以检查一个对象是否可以哈希化
为了将列表作为键,一种方式就是将其转化为元组,而元组只要它内部元素都可以哈希化,则它自己也可哈希化。
字典
,
哈希
,
可以
,
方法
,
元素
相关帖子
•
【FUT】iapp判断是否root实例
•
【FUT】初识? 直接怼? 。跳过初识,直接实战xml布局。
•
【FUT】 S变量
•
【解忧】深入理解Java反射
•
【解忧】最全的JAVA知识汇总(附讲解和思维导图)
•
【LUR】各种网页挂马方式原理
•
【DMT】<web安全系列>代码审计,SQL漏洞发现
•
【FUT】VPS服务器自建SpeedTest客户端网络测速页面
•
discovermgs邮件群发协议【专业发送国外邮箱】或者163邮箱除了QQ邮箱以外都可以发送
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表