网站首页
编程语言
数据库
系统相关
其他分享
编程问答
首页
>
其他分享
>字典
字典
时间:2024-11-02 17:31:00
浏览次数:4
标签:
返回
gt
other
dict
key
字典
字典
字典
字典
简介
创建字典
操作
python目前仅有一种标准映射类型
属于可变对象
mapping 对象会将 hashable 值映射到任意对象
字典的键几乎可以为任何可hash的值
比较结果相等的值(如 1, 1.0 和 True 等hash值相同)会被视做同一键
hashable(可哈希)
一个对象如果具有在其生命期内绝不改变的哈希值(它需要有 __hash__() 方法),
并可以同其他对象进行比较(它需要有 __eq__() 方法)就
被称为 可哈希 对象
。 可哈
希对象必须具有相同的哈希值比较结果才会相等。
可哈希性使得对象能够作为字典键或集合成员使用,因为这些数据结构要在内部使用
哈希值。
不可变容器仅当它们的元素
均为
可哈希时才是可哈希的
用户定义类的实例对象默认是可哈希的。 它们在比较时一定不相同(除非是与自己
比较),它们的哈希值的生成是基于它们的 id()。
使用花括号内以逗号分隔
键: 值
对的方式:
{'jack': 4098, 'sjoerd': 4127}
使用字典推导式:
{x: x ** 2 for x in range(10)}
使用类型构造器
dict()
空字典
dict([('foo', 100), ('bar', 200)])
dict(foo=100, bar=200)
list(d)
返回字典 d 中使用的所有
键
的列表。
len(d)
返回字典 d 中的项数。
d[key]
返回 d 中以 key 为键的项。 如果映射中不存在 key 则会引发 KeyError。
如果字典的子类定义了方法 __missing__() 并且 key 不存在,则 d[key] 操作将调用
该方法并附带键 key 作为参数
d[key] = value
将 d[key] 设为 value。
del d[key]
将 d[key] 从 d 中移除。 如果映射中不存在 key 则会引发 KeyError。
key in d
如果 d 中存在键 key 则返回 True,否则返回 False。
iter(d)
返回以
字典的键
为元素的迭代器。 这是 iter(d.keys()) 的快捷方式。
clear()
移除字典中的所有元素。
copy()
返回原字典的浅拷贝
get(key, default=None)
如果 key 存在于字典中则返回 key 的值,否则返回 default。 如果 default 未给出
则默认为 None,因而此方法绝不会引发 KeyError。
dict.fromkeys(iterable, value=None, /)
使用来自 iterable 的键创建一个新字典,并将键值设为 value。
items()
keys()
values()
返回由字典项 ((键, 值) 对) 组成的一个新视图
返回由
字典键
组成的一个新视图。
返回由字典值组成的一个新视图。
删除
pop(key [, default])
如果 key 存在于字典中则将其移除并返回其值,否则返回 default。 如果 default 未
给出且 key 不存在于字典中,则会引发 KeyError。
popitem()
从字典中移除并返回一个 (键, 值) 对。
在 3.7 版本发生变更
采用 LIFO(后进先出) 顺序
以前会返回一个任意的键/值对。
reversed(d)
返回一个逆序获取
字典键
的迭代器。 这是 reversed(d.keys()) 的快捷方式。
获取
setdefault(key, default=None)
如果字典存在键 key ,返回它的值。如果不存在,插入值为 default 的键 key ,并
返回 default 。 default 默认为 None。
更新
update([other])
使用来自 other 的键/值对更新字典,覆盖原有的键。 返回 None。
键
值
3.9新增
d | other
d |= other
合并 d 和 other 中的键和值来创建一个新的字典,两者必须都是字典。当 d 和
other 有相同键时, other 的值优先
用 other 的键和值更新字典 d ,other 可以是 mapping 或 iterable 的键值对。当
d 和 other 有相同键时, other 的值优先。
比较
两个字典的比较当且仅当它们具有相同的 (键, 值) 对时才会相等(不考虑顺序)。
在 3.7 版本发生变更
字典顺序会确保为插入顺序。 此行为是自 3.6 版开始的 CPython 实现细节。3.6前
的字典是无序的。
在 3.8 版本发生变更
字典现在是可逆的。
字典视图
由 dict.keys(), dict.values() 和 dict.items() 所返回的对象是 视图对象。
字典改变时,视图也会相应改变。
len(dictview)
返回字典视图中的条目数。
iter(dictview)
返回字典中的键、值或项(以 (键, 值) 为元素的元组表示)的迭代器。
在添加或删除字典中的条目期间对视图进行迭代可能引发 RuntimeError 或者无法完
全迭代所有条目。
3.10新增
dictview.mapping
返回 types.MappingProxyType 对象,封装了字典视图指向的原始字典。
{k:v for k in list1 for v in list2}
Created With
MindMaster
标签:
返回
,
gt
,
other
,
dict
,
key
,
字典
From: https://www.cnblogs.com/mmIqm/p/18522248
相关文章
python使用魔法函数__getitem__实现字典和列表式访问自定义类型
起因想起C++可以实现运算符重载,以实现以数组的方式([])访问我们的类.我想要实现一个类,可以同时用类似于字典和就想到python能不能实现这个效果,而且显然是可以的,不然numpy是怎么实现属于自己的数组的?#期望实现效果classmyclass: passc=myclass()#像这样使用[]访......
Leetcode每日一题 3216. 交换后字典序最小的字符串
Leetcode每日一题##3216.交换后字典序最小的字符串###C++给你一个仅由数字组成的字符串s,在最多交换一次相邻且具有相同奇偶性的数字后,返回可以得到的字典序最小的字符串。如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5和9、2和4奇偶性相同,而......
Leetcode每日一题C之3216. 交换后字典序最小的字符串
1、执行结果:通过2、显示详情:3、题目: 给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的字典序最小的字符串。如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5和9、2和4奇偶性相同,而6和9奇偶......
3216. 交换后字典序最小的字符串
给你一个仅由数字组成的字符串s,在最多交换一次相邻且具有相同奇偶性的数字后,返回可以得到的字典序最小的字符串。如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5和9、2和4奇偶性相同,而6和9奇偶性不同。示例1:输入:s="45320"输出:"43520"解......
Leetcode 3216. 交换后字典序最小的字符串
因为字符串长度只有100,所以直接模拟就行了。字符串比较不想写的话,可以用C的strcmp1classSolution{2public:3stringswap(string&s,inti,intj){4stringres="";5for(intk=0;k<i;k++)6res+=s[k];7res+=s[j];......
字典树
字典树(Trie)支持\(O(|s|)\)插入/查询一个字符串。空间复杂度为\(O(|s|_{\max}|\Sigma|)\)。01Trie即\(\Sigma=\{0,1\}\)的字典树,类似二进制,插入/查询一个数复杂度为\(O(\logx)\)。空间复杂度貌似是\(O(\logx)\)的?这种数据结构可以用来维护异或等基本操作,由于不需要......
用人话讲计算机:小白版Python篇!(四)关于列表、集合、字典、元组初步认识
注:本章节所写列表、集合、字典、元组等均只涉及初步认识,重在理解,后续会出相关专题专门详细介绍每一种。一、列表列表是python中的一种数据结构,它可以同时存储整数、浮点数、字符等东西!简单来说,你可以将它理解为:专业储存箱,主打一个来者不拒。1.列表长什么样用[]扩住各......
Python字典到JSON字符串的转换
在Python中,字典是一种非常常见的数据结构。它可以轻松地转换为JSON字符串,从而实现了将Python对象序列化为JSON格式的目的。本文将详细介绍如何将Python字典转换为JSON字符串。1.Python字典的基本概念在Python中,字典是一种无序的键值对集合。每个键必须唯一且非空,而值可以是任何......
使用yield压平嵌套字典有多简单?
我们经常遇到各种字典套字典的数据,例如:nest_dict = { 'a': 1, 'b': { 'c': 2, 'd': 3, 'e': {'f': 4} }, 'g': {'h': 5}, 'i': 6, 'j......
在 Go 中,如何实现一个带过期时间的字典映射
有些时候,应用系统用不上redis,我们也可以用锁和goroutine实现一个带有过期时间的线程安全的字典。这种字典的应用场景,比较倾向于数据规模较小,没有分布式要求。下面是实现:1、定义结构typeItemstruct{valueinterface{}expireAtint64}typeTTLM......
赞助商
阅读排行
Python3网络爬虫浓缩系列
visual studio 2022离线安装包制作教程
#yyds干货盘点# 前端歌谣的刷题之路-第一百三十七题-可伸缩属性
Codeforces
使用U盘制作启动盘并重装系统
编写HelloWorld程序
departments/components/add.vue
1081. 度的数量
js- day03- 将数据变成柱形图
nginx使用
leetcode 22 括号生成
webrtc-streamer实现简单rtsp视频监控
wordpress外贸独立站商城 如此简单
函数练习错题
利用TableAdapter更新数据库