问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python中字典的使用方法怎么样的?

发布网友 发布时间:2022-03-03 20:45

我来回答

2个回答

热心网友 时间:2022-03-03 22:15

字典理解如下
另一个非常有用的 Python 内建数据类型是 字典 (参见 Mapping Types — dict )。字典在某些语言中可能称为 联合内存 ( associative memories )或 联合数组 ( associative arrays )。序列是以连续的整数为索引,与此不同的是,字典以 关键字 为索引,关键字可以是任意不可变类型,通常用字符串或数值。如果元组中只包含字符串和数字,它可以作为关键字,如果它直接或间接的包含了可变对象,就不能当作关键字。不能用列表做关键字,因为列表可以用索引、切割或者 append() 和 extend() 等方法改变。
理解字典的最佳方式是把它看作无序的键: 值对 (key:value 对)集合,键必须是互不相同的(在同一个字典之内)。一对大括号创建一个空的字典: {} 。初始化列表时,在大括号内放置一组逗号分隔的键:值对,这也是字典输出的方式。
字典的主要操作是依据键来存储和析取值。也可以用 del 来删除键:值对(key:value)。如果你用一个已经存在的关键字存储值,以前为该关键字分配的值就会被遗忘。试图从一个不存在的键中取值会导致错误。
对一个字典执行 list(d.keys()) 将返回一个字典中所有关键字组成的无序列表(如果你想要排序,只需使用 sorted(d.keys()) )。[2] 使用 in 关键字(指Python语法)可以检查字典中是否存在某个关键字(指字典)。

热心网友 时间:2022-03-03 23:33

dict全称dictionary,使用键-值(key-value)存储,具有极快的查找速度。
举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list:
names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]

给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长。
如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>> d['Adam'] = 67
>>> d['Adam']
67

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:
>>> d['Jack'] = 90
>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88

如果key不存在,dict就会报错:
>>> d['Thomas']
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>KeyError: 'Thomas'

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
>>> 'Thomas' in dFalse

二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 房产官司律师费多少 微信加人技巧加精准粉是真的吗 python for 语句的使用方法? 百杏堂微信如何引流推广精准加人 python中{}[]是什么用法? 微信怎么让人加我?什么叫精准客源? python中关于“ _,”的用法请教 Python入门教程 微信怎样精准加人,微商怎么找精准客源 微信怎么快速精准加人? 电费户号怎么查1548828242 冰箱冷冻室结冰严重怎么处理? 冰箱没关好,冷藏室结冰怎么处理? 冰箱结冰了怎么处理好吗? 冰箱结冰处理不好会怎样 抖音突然拉近镜头怎么弄 镜头拉近拍摄方法 抖音变脸视频怎么拍 在微信上怎么交养老保险 抖音怎么拍摄 抖音拍摄技巧都有哪些? 苹果6的尾插坏了,还可以用无线充电器充电吗? python中timedelta方法怎么用 微商怎么添加精准粉丝,怎么快速添加微信好友 如何运行Python程序的方法 微信加人通过 微信怎么加人通过率高 python中len函数的使用方法 python中的input()具体使用方法 python 如何调用类的方法 微信怎么加人呀 我人太少了。。。 python中怎么用控制台使用方法 对Python中数组的几种使用方法总结 如何在Python中使用方法链 苹果7怎么解除绑定邮箱 苹果手机7QQ邮箱帐号以收回怎么办 苹果手机怎么杀毒和清理手机内存? 怎么给苹果手机杀毒.清理要下什么软件好 怎么给苹果手机杀毒。清理要下什么软件好 抖音里怎么没有水印了。 我抖音视频现在没有水印了,在哪里打开? 我抖音视频现在没有水印了,在哪里打开 苹果手机是不是有自动杀毒功能,和清理?