【发布时间】:2018-07-28 06:26:19
【问题描述】:
我知道您可以使用以下方法检查密钥是否存在:
if key in mydict:
...
但我希望在构建字典时以某种方式在字典理解中使用它。
例如:
mylist = [('a', 0.01), ('b', 0.02), ('c', 0.03), ('a', 0.04)]
mydict = {item[0]: item[1] for item in mylist if item[0] not in mydict else blah blah}
实现这一目标的最佳方法是什么?
我还需要 else 部分。
编辑:澄清。在我的情况下,我实际上需要给定 item[0] 值的所有项目的 item[1] 值的总和。
【问题讨论】:
-
感谢您的回复,我已经编辑了问题,因为我忘了提到 else 部分对我的任务很重要
-
not in mydict- 在最终创建字典之前,您不能引用它。在 Python 中,赋值从“右”到“左” -
blah blah背后的逻辑是什么? Dict 具有支持默认值的 get 和 setdefault 方法。根据您的具体目标,您可能会使用这些方法。
标签: python dictionary-comprehension