首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

字典理解并不像我想的那样有效。我做错了什么?

字典是一种无序的数据集合,它以键-值对的形式存储数据。通过键可以快速地找到对应的值,因此字典在查找和检索数据时非常高效。但是,要正确使用字典,需要注意以下几点:

  1. 键的唯一性:字典中的键必须是唯一的,如果重复添加相同键的值,后面的值会覆盖前面的值。因此,在使用字典时要确保键的唯一性,避免出现数据被覆盖的情况。
  2. 可变性:字典是可变的,可以随时添加、修改和删除键值对。但是,要注意在遍历字典的过程中对字典进行修改可能会导致意想不到的结果,因此建议在遍历字典时创建一个副本,以免修改原字典。
  3. 字典中的键的类型:字典中的键可以是任意不可变类型,如字符串、数字、元组等,但不能是可变类型,如列表和字典本身。因为字典中的键是通过哈希算法进行查找的,可变类型的键会导致哈希值发生改变,从而无法准确地找到对应的值。
  4. 使用正确的语法:在使用字典时,要注意使用正确的语法来定义和操作字典。例如,使用大括号{}来创建字典,使用冒号:来分隔键和值,使用逗号,来分隔不同的键值对。

总结来说,字典的有效使用需要注意键的唯一性、可变性、键的类型和正确的语法。如果在使用字典时出现问题,可以检查是否遵循了这些原则,以及是否正确地使用了字典的相关方法和操作符。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

选择很多,怎么才叫“对”

这段时间,拉黑了一些群成员,因为他们问问题很low。问我是不是前端久了,不容易做到管理?直接回复是的。跟我说什么,要不就去学后端,后端更容易转管理什么。...说确实如此,然后就不想再跟他说任何一句话,直接拉黑了。他来这里干什么?这么想做管理,这么管人,这么想当领导,这么不想写代码,那直接去学企业管理之类嘛,这种人我看他前端后端都不适合。...就像我在构思“先行者计划”时候,当初只是每周讲点东西,分享一些工作经验、方法。后来在做过程中,参与的人越来越多,有不同意见加入进来,使得先行者计划内涵越来越丰富,才有了今天先行者计划。...因为现在社会上视频啊,教程啊,培训机构啊,已经很多很多了,不差这一个。但我发现好多同学从培训机构出来之后,对于这个行业,依然并不十分了解,至少扔给他一个需求,并不知道如何下手。怎么?...这个怎么操作还没想好,, 刚才写有点跑题哈,说这些意思,就是表达你同一时间,只有一种选择,不可能同时二种选择,所以其实单位时间之内,你并没有选择。例如今天早上,你想今天学前端还是后端呢?

74450

什么泛型会让你Go程序变慢

反,聊一下很多工程师感兴趣,单态化以及带来性能问题(很多人感兴趣,并且我们会失望) The generics implementation in 1.18 业务有很多泛型实现,简单说一下以便了解...现在它可以一些非常强大事情,当泛型不碍事时候 让给你举个例子:想象一下我们正在开发一个库,为 Go 增加函数式调用。我们为什么要这样呢?也不知道。很多人似乎都在做这件事。...总的来说,这可能让那些期望将泛型作为优化 Go 代码强大选项的人有点失望,就像在其他系统语言中那样。我们已经了解到(希望!)很多关于Go编译器处理泛型有趣细节。...同样地,我们现在可以在现实世界代码中测量模版化+字典(stenciling + dictionaries)性能影响,就像我们在这个分析中所做那样,可以看到我们在程序中为加快 Go 编译器速度付出了巨大性能代价...,也一直在做大量优化,信当前 generic 实现会起来越好,也一定能在生产环境上使用,积极拥抱泛型 (但不妨碍骂他,[] 用于泛型约束多么反人类) 分享知识,长期输出价值,这是公众号目标

29130
  • Python: 链式赋值

    在我们使用Python过程中, 经常遇到赋值语句, 就像下面的那样: a = 3 b = 3 可能你会觉得又要说什么变量赋值就是引用, 这么简单知识就不讨论啦, 相信聪明大家肯定都知道, 想讲的是链式赋值...可能大家一眼看下去, 就能得出答案: i 值: 3 s 值: [3, 2, 3, 4, 5, 6] 然而, 这个答案只是对了一半, 因为s错了!...有兴趣朋友可以自行上机试下, 正确答案是: i 值: 3 s 值: [1, 2, 3, 3, 5, 6] s列表, 并没有像我们想象中那样, 就i=0位置上元素, 变成3, 而是将i=3位置元素改成...第3行: LOAD_CONST取出常量3, 它并不是像上面执行STORE_NAME, 而是采用DUP_TOP, 这是什么鬼, 我们这要去看下这指令具体是干嘛: //取自 python/ceval.c...(省略) } DUP_TOP指令说白了, 就是将刚才LOAD_CONST指令取出常量3, 复制一份给v,然后再压回去运行栈帧, 这样就有两个3了, 为什么要这么, 肯呢个大家已经猜到了, 不过我们还是得继续看具体是不是像我那样

    1.2K10

    也许 vue+css3 交互特效更简单

    今天就分享三个简单小实例,希望能起到拓展思维作用,让大家明白vue+css3应该怎样开发交互效果!如果大家有什么建议,或者觉得哪里写错了,欢迎指出!...文章上面的代码,虽然代码很简单,不难理解,但是也是建议大家边写边看,这样不会混乱。 文章所提及小实例,都是很基础,大家可以参照自己想法进行扩展,或者修改,可能会有意想不到效果。...写这类型文章也是授人以渔,不是授人以鱼! 这几个实例,摘自我自己平常练习项目,代码已经提到github上面了(vue-demos)。欢迎大家star。...今天讲这三个小实例不是说给大家代码,让大家复制粘贴使用,而是希望能起到一个抛砖引玉作用,拓展思维作用!就像我之前写文章说得那样写文章是希望能起到一个授人以渔作用,而不是授人以鱼!...最后,如果大家觉得有什么地方错了,写错不好,或者有其它什么建议,欢迎指出!让大家相互学习,共同进步! 觉得本文对你有帮助?请分享给更多人 关注「前端大学」,提升前端技能

    887100

    2021 年 Python 好与坏

    在这篇文章中,聊下 Python 最大优势和不足,以不足为主,因为这些问题已经存在了许多年,而且其中有些导致了很多问题。这篇文章对 Python 评价看起来非常负面。...前 言 在这篇文章中,聊下 Python 最大优势和不足,以不足为主,因为这些问题已经存在了许多年,而且其中有些导致了很多问题。...之前就职一家初创公司使用 Powershell 和 C 自动化测试,这引发了很大分歧,直到我介入,宣布我们将使用 Python。...好吧,谢谢,好像我那样想过是的。 有那么一会儿,真以为也许是傻。毕竟,不会所有那些聪明人都错了,对吧?不对!...当我在写书时,发现,与其帮助人们安装 Python,还不如提供一个什么都装好了 5GB 虚拟机,那样更简单(许多其他作者也是这样虚拟机文件夹一度有 60 到 80GB,全都是针对 Python

    46210

    程序员价值观是什么

    程序员价值观是什么 当我第一次深入考虑职业生涯时,一度认为要做就是集中精力技术向导。想知道成为公司技术专家能让走多远。觉得团队领导和管理人员角色并不适合。...甚至都无法想像自己有一天不能编码是什么样子……更不要说几个星期不能接触代码了。在过去年月中,一直秉持着这个信念,坚决反对那些看似是职业生涯发展自然结果。...可是,越是这样这样,就越是发现其实并没有像我想象那样讨厌它。事实上,很享受。帮助他人,制定技术决策,指导同事,领导开发项目和团队等,都让乐在其中。...并且与那些新生代程序员竞争更难,因为他们不像我们这一代,他们成长在计算机已经广泛普及大环境中。这样成长起来开发人员有的甚至还在读小学时候就开始编程了。...以前所作所为,以及所看到他人所作所为,对于价值重点其实都弄走错了方向。

    1.4K100

    Reddit热帖, 一位程序员酒后真言

    有一些公司,交到了好朋友,但是工作得并不开心;另一些公司,没有与任何同事建立友谊,但是工作得很开心。 总是对经理实话实说, 怕什么?他开除, No?我会在两周内找到一份新工作。...测试很重要,但 TDD (测试驱动开发)几乎变成了一个邪教。 政府单位很轻松,但并不像人们说那样好。...有些技术太流行,不得不用它。心里就会很讨厌这种技术,但会把它推荐给客户,比如我恨Jenkins,但把它推荐给新客户,不觉得做错了。...没见过药剂师面试时,还要测试有机化学细节。这个行业面试过程有时候很糟糕。 自己喜欢事情并不重要,不要让讨厌事情更重要。 越接近产品,就越接近推动收入增长。...人死了以后,你想让代码成为你遗产吗?如果是那样,就花很多时间在代码上面吧,因为那是你遗产。但是,如果你像我一样,更看重与家人、朋友和生活中其他人相处时光,而不是写代码,那就别对它太在意。

    50830

    生成花式密码

    几个月前也在烦生成密码问题,当时认真看过 pydictor 代码,做了一些改进,因为这个生成工具没有办法实现一个点: 如正常一个密码格式 password@123 ,但我随机生成如下几种密码 大写...相信你也会像我一样毫不犹豫地回答:会啊,很简单。 但是有一天,当我用几万个密码去爆破时候还爆不出来时候,知道错了。...可以看到在 result 文件夹下生成了字典: ? 嗯哼,内容正是想要。...n 你会发现像这样,是基于原来基础字符上做了变换,比如起始大写、形近字替换等。所以我们上一部分做还不够,要在上一部分基础上一些变换。...在 pydictor 中有一个 leet 模式,可以替换,不过不支持上面的配置模式。怎么办呢?突然发现配置模式中编码方式可以自定义,那我们就自己写吧。 ?

    86200

    基于attentionseq2seq机器翻译实践详解

    理理思路 文本处理,这里是以eng_fra文本为例,每行是english[tab]french,以tab键分割。获取文本,清洗。 分别建立字典,一个english,一个french。...下面来根据我理解讲下剩下部分,其中着重讲解Encoder,Attention,Decoder模型及过程。 Encoder 这个其实简单,我们先回忆下这个流程图: ?...下面按照难易理解顺序先讲Bahdanau et al. model,然后讲Luong et al. model。...GRU,然后输出时候就跟这个图有点差异了(应该是地方太小,图主人画不下了吧):这个时候产生output像我那样,应该直接把output经过线性层输出分类了;而这个是讲output和刚才那个attention...然而,我们有时候并不知道到底前面多少轮用到teacher_forcing,又是从什么时候开始不用呢?后来我们又提出了teacher_forcing_ratio比率{0-1之间}。

    1.4K60

    什么说Java中只有值传递?

    重新定义什么是值传递和引用传递 相信我,当你正在看这篇文章时,说明你对值传递和引用传递理解大概率是错误。如果你理解是正确,你应该也不会来看这篇文章。...[在这里插入图片描述] 正确定义 值传递:参数传递时,是拷贝实参副本,然后传递给形参。 引用传递:参数传递时,直接把对象引用传给了形参。 你在问什么是实参,什么是形参对不对?...对不对 形参与实参 形参是指在定义函数时使用参数,目的是用于接收调用该函数时传入参数。简单理解,就是所有函数(即方法)参数都是形参。 实参,是指调用函数时,传递给函数参数。...但其实你又错了。文章一开始就说了,我们理解引用传递其实并不是引用传递真正定义。...总结 与很多人一样,也以为传递是对象就是引用传递。但其实这一点是错误。真正引用传递并不是这样定义,Java传递参数也并不像我们表面看到那样简单。

    55220

    程序员酒后真言:可能会后悔今天说了这些话

    有一些公司,交到了好朋友,但是工作得并不开心;另一些公司,没有与任何同事建立友谊,但是工作得很开心。 (4)总是对经理实话实说。怕什么?他开除?我会在两周内找到一份新工作。...人力资源专家年薪?也许5万美元。懂SQL的人力资源专家?9万美元。 (14)测试很重要,但 TDD(测试驱动开发)几乎变成了一个邪教。 (15) 政府单位很轻松,但并不像人们说那样好。...心里就会很讨厌这种技术,但会把它推荐给客户,比如我恨Jenkins,但把它推荐给新客户,不觉得做错了。 (21)成为一名优秀工程师意味着了解最佳实践,成为高级工程师意味着知道何时打破最佳实践。...没见过药剂师面试时,还要测试有机化学细节。这个行业面试过程有时候很糟糕。 (25)自己喜欢事情并不重要,不要让讨厌事情更重要。 (26)越接近产品,就越接近推动收入增长。...但是,如果你像我一样,更看重与家人、朋友和生活中其他人相处时光,而不是写代码,那就别对它太在意。 (29)钱还不错,对此心存感激,但还是需要省钱。 (30)糟糕,没酒了。

    32910

    一本书结束和新生

    说起来,最开始为什么写这样内容呢?主要是因为自己这几年工作经历也比较折腾,认识和学到了很多。...在以前,一直是自己最忠实读者,现在有一些小伙伴了。不需要很多人,即使还有一个人在看,也希望能继续写下去。 也因此,这本书最后转为电子书方式出版,因为电子书并不存在纸质书那样对销量要求。...联系你时候,状态非常内耗,感觉自己干什么都干不好,什么都不懂,一边自己上网找教程学,一边骂自己怎么这么笨。就算去做心理咨询,老师一直安慰说,凡事都有个过程。...也很看重自己在职业上成长和探索,这是人生很重要一部分。 一直试图说服自己,去接受当下环境,要稳定,要知足。像我同事们那样,情绪稳定,干完下班。...在公司里,我们要面临职场经验缺失,也没有人教我们要怎么去给自己职业规划。我们只能走一步是一步,却在走到某一步时候突然发现自己走错了,后悔莫及但一切都无法重来。

    24441

    高效学习:源头、原理和知识地图-左耳朵耗子

    以下是正文 有了上一篇文章中分享那些观点,我们来看看应该怎么。 下面是觉得比较不错一些学习方法,或者说对来说最有效学习方法。...这里请允许辩解一下,之所以这样并不是因为偷懒,完全可以把这些信息资料全部隐藏起来,翻译也好,搬运也好,导读也好,自己消化完后再写出来。那么,可以写出多少个专栏来?...但我不想这样,想把读过文章推荐给大家,就像推荐书一样。那些是信息源头,已经写得非常不错了不用再多废话。 而且那些文章底部都有很多引用,你可以一路点过去。...基础不行,会影响你对事物理解,甚至会让你不能理解什么是这样。 当你对事物出现有不理解东西时,通常来说,是因为你基础知识没有跟上。...基础打牢,学什么都快,而学得快就会学得多,学得多,就会思考得多,对比得多,结果是学得更快……这种感觉,对于速成的人来说,很难体会。 这里想再次强调一下,请一定要注重基础知识和原理上学习!

    38420

    当 Python 中混进一只薛定谔猫……

    其中,KeyError 指的是在字典中不存在对应 key 。为什么会这样呢,新赋值变量是 y 或者 z,为什么对结果有这么不同影响? 试试把 exec 去掉,不报错!...关于 locals() 创建过程,在《Python 动态赋值陷阱》文中有所分析,locals() 字典是局部命名空间代理,它会采集局部作用域变量,代码运行期若动态修改局部变量,只会影响该字典并不会影响真正局部作用域变量...这就有了字典一个 key,接着要匹配这个 key 对应值,也即 y 所绑定值。 但是,刚才说了这是 y 第一次赋值,并未完成呢,因此 y 并无有效绑定值。...至于例 4,它跟例 3 只差了一个执行顺序,为什么不会报错呢?还有更奇怪,在例 4 上再加一个打印(例5),理应不会影响结果,可事实却是又报错了,为什么?...但仍可能有瑕疵,如果你有什么交流,欢迎给我留言。

    52510

    这12件事让很讨厌Hadoop

    不过这世上没什么是完美的,有的时候,即使是再好朋友间也会起冲突。就像我和Hadoop之间存在斗争一样。下面是列举12个痛点。 ? 1.Pig vs....Oozie Debug 并不好玩,所以文档里有很多老式例子。当你遇到错误,可能并不是你做错了什么。可能是配置打印错误或者格式验证错误,统称“协议错误”。...Knox 数据保护应用程序 因为用 Java 写一个合适 LDAP 连接器需要做至少100次才能保证正确。哎呀,看看那代码。它并不真正地有效维护好连接池。...实际上, Knox 就是为 Java 或者一时热情而创造出来。你可以通过一个写好 Apache config,mod_proxy,mod_rewrite 同样事情。...有过,但是它表现并不好。实际上,有时候它找到了最快镜像。Ambari 并不关注它下载下来东西是否兼容。

    83580

    什么虚拟机开机即卡死?以及是怎么修补

    去看了,原创作者是那样解决了,底下一堆评论问为什么他们那样不能解决。那不是废话吗,环境都不一样。至于网上其他抄袭底下根本没评论。跟着做大概率是不行。...来解释一下这第三步操作是什么:是清理内存碎片(就像手机内存不足时候清理一下垃圾)。这在外面就可以事情,做了无效。 那个博主挺佩服他,虚拟机上能有那么多垃圾?...删除大文件,卸载大软件,是最快。当然,要是愿意一点点内存清洗也没意见。 最终目标是要开机,其他事情都可以靠边站,要开机,开机!!!...有兴趣手动也行,不然也可以像我这样, 1、安装一个GParted,网上教程很多,其实就是将为认主新空间包到当前使用磁盘下罢了,并挂载。...5、临时挂载命令:mount 分区路径 预挂载路径 6、如果挂载错了取消挂载:umount 分区路径 或 挂载路径,什么写俩,自己机灵点。 ---- 至此,问题解决。

    2.4K20

    测试开发如何在团队中推广新工具、新技术(深度好文)

    接下来,就对此前(2017年)阅读这书本时,给作者带来一些启发感想、或文中值得深思学习要点,摘取一些分享给大家(特别是在团队中经常推广工作小伙伴,文中要点值得反复深思)。...即让人们投入时间和精力去学习新东西,而投入时间和精力到底能得到什么回报,有时候人们并不理解,尤其在他们正被手头工具折腾得疲于奔命而又徒劳无功情况下,就更不容易理解了。...,他们听到却是:"认为你错了", 如果他们现在错了,大概过去这些年他们产就一直那么错着,这顶大帽子,就算是最明白、最开通的人、恐怕也是轻易不能接受,因为你不仅在混淆他们身份,同时也在伤害他们自尊...种种迹象表明,你并不仅仅是让他们掏点钱就完事了,你想让他们付出时间,精力,身份转换、及至牺牲尊严代价。...PS:欢迎读者读完本篇文章后或者结合各自在团队中所做过推广工作,分享一些你认为行之有效推广布道技巧,说说你想法和建议。

    37641

    多些时间能少写些代码

    当然,那些咨询师会让你用持续集成和持续部署这样方法。但我告诉你,这并不能解决你软件设计缺陷。...比如那种“甲乙方合同式项目”,把这种项目统一认为是“外包项目”,在这种项目性质下,你很难有话语权。...这个问题原因是,这个团队设计是在纸上谈兵,开会是开神仙会,讨论设计都是浮云。所以,设计并不是讨论和思考,还需要去尝试,认为当你设计完成时候,你骨干核心代码都基本完成了。...错了,你们没有见过有钱公司,有钱公司可以招一堆干不成活的人,可以把事搞乱了再新来过,甚至可以把失败项目换个名字再重新立项。这些真正有钱公司只求快,只求人多,不怕做错决定。...像我们这些没钱的人,干什么事都是小心翼翼地,生怕做错决定。

    59170

    独家 | 为什么大多数分析工作都以失败告终

    日均订单量从两万提高到五百万;商业智能部门从无到有,如今已有100位员工;增长部门完成从8人到85人发展。所有这些都在4年半内完成。这是一次疯狂旅程,但并不是美国创业界许多人所熟悉那样。...帮助过一个团队认为他们对入职流程进行了6个多月追踪,但从未"使用"和分析过这些数据,最初这项工作的人决定离开公司。对团队进行了调研后,就发现基本没有任何数据是被正确记录。...构建优秀分析系统,首先要深刻理解业务用户问题和能力,就像你对产品目标客户那样。以Gojek为例,我们大多数商业用户并非SQL分析员,而是非技术岗位产品经理、营销人员或运营经理。...但是挑战在于,当查看所有被选中注册来源时候,我们并不知道有哪些来源存在,而且很难做出实际决策。虽然我们通过事件掌握了行为 "症状",但我们没有能力通过参数值进行 "诊断"。...“那么,一个好事件跟踪字典什么? 请见下文:独家 | 一个好事件跟踪字典什么?”

    26210

    DBA生存警示:备份级误操作案例及防范建议

    案例分享 ----  1.无备份导致数据损毁 刚才同事告诉,以前顶头上司,IT经理引咎辞职了,仔细一问,原来是继任没有备份,资料全部损毁,这也是今年第二次见到这种情况。...3.备份时文件缺失 数据库运行在非归档,冷备时少了一个文件(别的同事备份),过了几天恢复数据库,用当时冷备恢复,结果数据库起不来,丢失文件还包括很多重要应用字典数据,没办法,重新输入这些字典数据...还有几个月前测试,连到了生产库,把几个表空间删除了,出了一身冷汗!幸好是晚上,没有什么应用,及时恢复了数据库。...才发现不能想当地认为什么都不用做,这个错误让更加记住了大家常说“备份重于一切”。 5.误操作覆盖导出文件 imp用错了exp,结果把原来dmp文件覆盖了。数据丢了,幸运是数据不太重要。...防范建议 ---- 1.执行操作系统命令需要经过测试 很多操作系统级别的命令都具有一定危险性,如rm、mv、tar等,如果不理解这些命令具体含义和参数意义,那就可能犯下无法挽回错误。

    67390
    领券