python字典

 

字典 dictionary ,在一些编程语言中也称为 hashmap ,是一种由键值对组成的数据结构。

顾名思义,我们把键想象成字典中的单词,值想象成词对应的定义,那么——

一个词可以对应一个或者多个定义,但是这些定义只能通过这个词来进行查询。

基本操作

空字典

Python 使用 {} 或者 dict() 来创建一个空的字典:

有了dict之后,可以用索引键值的方法向其中添加元素,也可以通过索引来查看元素的值:

插入键值

查看键值

更新键值

初始化字典

可以看到,Python使用key: value这样的结构来表示字典中的元素结构,事实上,可以直接使用这样的结构来初始化一个字典:

字典没有顺序

当我们 print 一个字典时,Python并不一定按照插入键值的先后顺序进行显示,因为字典中的键本身不一定是有序的。

因此,Python中不能用支持用数字索引按顺序查看字典中的值,而且数字本身也有可能成为键值,这样会引起混淆。

键必须是不可变的类型

出于hash的目的,Python中要求这些键值对的必须是不可变的,而值可以是任意的Python对象。

一个表示近义词的字典:

 

使用 dict 初始化字典

除了通常的定义方式,还可以通过 dict() 转化来生成字典:

利用索引直接更新键值对:

适合做键的类型

在不可变类型中,整数和字符串是字典中最常用的类型;而浮点数通常不推荐用来做键,原因如下:

 事实上,观察data的值就会发现,这个错误是由浮点数的精度问题所引起的:

 有时候,也可以使用元组作为键值,例如,可以用元组做键来表示从第一个城市飞往第二个城市航班数的多少:

字典方法

get 方法

之前已经见过,用索引可以找到一个键对应的值,但是当字典中没有这个键的时候,Python会报错,这时候可以使用字典的 get 方法来处理这种情况,其用法如下:

`d.get(key, default = None)`

返回字典中键 key 对应的值,如果没有这个键,返回 default 指定的值(默认是 None

指定默认值参数:

pop 方法删除元素

pop 方法可以用来弹出字典中某个键对应的值,同时也可以指定默认参数:

`d.pop(key, default = None)`

删除并返回字典中键 key 对应的值,如果没有这个键,返回 default 指定的值(默认是 None )。

 

 

与列表一样,del 函数可以用来删除字典中特定的键值对,例如:

 

update方法更新字典

之前已经知道,可以通过索引来插入、修改单个键值对,但是如果想对多个键值对进行操作,这种方法就显得比较麻烦,好在有 update 方法:

`d.update(newd)`

将字典newd中的内容更新到d中去。

 

把'first'改成'James',同时插入'middle'的值'Clerk':

in查询字典中是否有该键

keys 方法,values 方法和items 方法

`d.keys()` 

返回一个由所有键组成的列表;

`d.values()` 

返回一个由所有值组成的列表;

`d.items()` 

返回一个由所有键值对元组组成的列表;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值