Python 2.7.14:“如果密钥存在,则= 1到字典项目= 1”语法不起作用

Python 2.7.14:“如果密钥存在,则= 1到字典项目= 1”语法不起作用,第1张

概述我试图在字典中的项目= 1,如果它存在,否则在字典中创建密钥并将其设置为1.我知道我可以使用多行逻辑,但我真的很想看到如果它可以将逻辑保持在一条线上.这就是我想要做的: myDict = {}myDict[100] += 1 if 100 in myDict else 1 如果密钥100不存在,它会抛出KeyError.如何设置一个内置的其他逻辑来将密钥100设置为1?它甚至可能吗? 非常感谢 我试图在字典中的项目= 1,如果它存在,否则在字典中创建密钥并将其设置为1.我知道我可以使用多行逻辑,但我真的很想看到如果它可以将逻辑保持在一条线上.这就是我想要做的:

myDict = {}myDict[100] += 1 if 100 in myDict else 1

如果密钥100不存在,它会抛出KeyError.如何设置一个内置的其他逻辑来将密钥100设置为1?它甚至可能吗?

非常感谢

解决方法 问题是这被解析为

myDict[100] += (1 if 100 in myDict else 1)

这和写作一样

myDict[100] += 1

当然,这需要myDict [100]已经存在.您可以改为使用常规赋值和字典get方法,该方法允许您指定在键不存在时要返回的内容:

myDict[100] = myDict.get(100,0) + 1

或者你可以使用collections.Counter,这是一个专门用于完成这项工作的专用字典:

import collectionsmyDict = collections.Counter()myDict[100] += 1
总结

以上是内存溢出为你收集整理的Python 2.7.14:“如果密钥存在,则= 1到字典项目= 1”语法不起作用全部内容,希望文章能够帮你解决Python 2.7.14:“如果密钥存在,则= 1到字典项目= 1”语法不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194403.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存