当前位置:网站首页>字典
字典
2022-08-09 09:20:00 【qq_35774189】
1、字典是一种映射:包含下标(键)和值,每一个键都和一个值相关联,键和值之间的关联称为键值对
第1行:新建一个不包含任何项的字典;第2行:花括号表示一个空的字典。给字典添加新项,可以使用方括号操作符,如第3-6行;第7行为打印这个字典的结果,以冒号分隔
***字典中键值对的顺序可能并不相同***,字典是利用键查找对应的值
如果一个键不存在字典之中,会得到一个异常,如第8行

2、len函数返回键值对的数量
in操作符判断一个值是不是字典中的键(第11行),字典中的值不算(第12行);values方法可以查看一个值是不是出现在字典的值中,它返回一个值集合(第13行),利用in操作符判断某个值是否在值集合中(第15行)
***in操作符对列表和字典使用不同的算法实现。对于列表,按顺序搜索列表中的元素。对于字典,python使用一个称为散列表的算法,不管字典中有多少项,in操作符花费的时间都差不多。

3、使用字典作为计数器集合
建立一个字典,以字符为键,以计数器为相应的值。第一次遇到某个字符时,在字典中添加对应的项。之后可以增加一个已经存在的项的值
字典实现计数器的优势:我们并不需要预先知道字符串中可能出现哪些字母,因而只需为真正出现过的字母分配空间。
字典的get方法,接收一个键以及一个默认值。如果键出现在字典中,get返回对应的值(第19行);否则返回默认值(第21行)

4、如果在for循环中使用字典,会遍历字典的键,print_dist函数打印字典的每一个键以及对应的值

5、取出键为a对应的值为1

6、以上键的出现没有特定的顺序。要按顺序遍历所有的键,可以使用内置函数sorted

7、给定一个字典d和键k,找到对应的值v=d[k],以上可以解决
如果有v,想找到对应的键k,存在两个问题:①可能存在多个键映射到同一个值v上;②并没有进行反向查找的简单语法,需要使用搜索
下面是一个函数,接收一个值,并返回映射到该值的第一个键
raise语句会生成一个异常,LookupError,这是一个内置异常,通常用来表示查找操作失败。

8、字典和列表
每次循环,key从d中获取一个键,val获得对应的值。如果val不在inverse字典中,意味着我们还没有见过它,所以新建一个项,否则我们见过这个值,将相应的键附加到列表末尾。

详见《像计算机科学家一样思考Python》第11章
边栏推荐
- MySQL事务隔离
- 自动化测试简历编写应该注意哪方面?有哪些技巧?
- 一篇文章让你彻底搞懂关于性能测试常见术语的定义
- Lecture 4 SVN
- "The camera can't be used" + win8.1 + DELL + external camera + USB drive-free solution
- 软件测试面试常见问题及答案(发散思维、接口、性能、概念、)
- What does the test plan include?What is the purpose and meaning?
- centos7 mysql异常ERROR 2002 (HY000)分析解决
- 数理逻辑MOOC+知识点总结(未完无待续)
- Domestic Google earth, terrain analysis seconds kill with the map software
猜你喜欢
随机推荐
国产谷歌地球同款软件,查看下载19级高清卫星影像so easy!
秒拍app分析
全网最全的软件测试基础知识整理(新手入门必学)
软件测试外包公司怎么样?有什么好处和坏处?为什么没人去?
中国打造国产“谷歌地球”清晰度吓人
[Environmental Construction] tensorrt
The era of Google Maps is over, how to view high-definition satellite image maps?
Domestic Google earth, terrain analysis seconds kill with the map software
Anaconda4.8.3介绍、安装及使用教程安装(win10)并修改Jupyter默认工作目录
问卷问题和答案的合并
Redis Basics
Read file by byte and character_load configuration file
MySQL indexes
本体开发日记02-sparql简单查询
米斗APP逆向分析
接口性能测试方案设计方法有哪些?要怎么去写?
Teach you how to get a 0.1-meter high-precision satellite map for free
这12个GIS软件一个比一个好用
Django实现对数据库数据增删改查(二)
白盒测试的概念、目的是什么?及主要方法有哪些?







