Python 2.7.14:“如果密钥存在,则= 1到字典项目= 1”语法不起作
发布时间:2020-12-20 12:14:51 所属栏目:Python 来源:网络整理
导读:我试图在字典中的项目= 1,如果它存在,否则在字典中创建密钥并将其设置为1.我知道我可以使用多行逻辑,但我真的很想看到如果它可以将逻辑保持在一条线上.这就是我想要做的: myDict = {}myDict[100] += 1 if 100 in myDict else 1 如果密钥100不存在,它会抛出K
我试图在字典中的项目= 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 collections myDict = collections.Counter() myDict[100] += 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |