当前位置:网站首页>字典
字典
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章
边栏推荐
猜你喜欢
随机推荐
MVCC multi-version concurrency control
二叉树的遍历(非递归)
HD Satellite Map Browser
接口开发规范及测试工具的使用
MySQL事件_单次事件_定时循环事件
学习栈的心得和总结(数组实现)
MVCC多版本并发控制
MySQL Leak Detection and Filling (3) Calculated Fields
初窥门径代码起手,Go lang1.18入门精炼教程,由白丁入鸿儒,首次运行golang程序EP01
unittest测试框架原理及测试流程解析,看完绝对有提升
Venture DAO Industry Research Report: Macro and Classic Case Analysis, Model Summary, Future Suggestions
JS报错-Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on...
TestNG使用教程详解
【百日行动】炎炎夏日安全不松懈 消防培训“加满”安全知识“油”
on duplicate key update
软件测试面试题目:请你列举几个物品的测试方法怎么说?
软件测试的流程规范有哪些?具体要怎么做?
你一定要看的安装及卸载测试用例的步骤及方法总结
Redis基础
Amplify Shader Editor手册 Unity ASE(中文版)






