【问题标题】:Checking for key values in dictionary [duplicate]检查字典中的键值[重复]
【发布时间】:2017-06-01 03:16:29
【问题描述】:
dic1 = {
    'a':2,
    'b':3
}

dic2 = {
    'a':2,
    'b':3,
    'c':5
}
...

为了我自己的满意,我的特定问题更多是 python 问题中的语法。假设您有一堆字典,并且想要将可能不存在的所有属性 a、b 和 c 相加……我当前的代码有点庞大,我不喜欢一堆 if elif 语句。 ..

if 'a' in dicX:
   total+=dicX['a']
if 'b' in dicX:
   total+=dicX['b']
if 'c' in dicX:
   total+=dicX['c']

谁能推荐一种更好的单行方式来做到这一点?或者只是一种更清洁的方法?

【问题讨论】:

标签: python python-3.x dictionary


【解决方案1】:
{k : (dic1[k] if k in dic1 else 0) + (dic2[k] if k in dic2 else 0) 
 for k in dic1.keys() | dic2.keys()}
#{'b': 6, 'c': 5, 'a': 4}

【讨论】:

  • 不错的建议,仍然很长时间刚刚重新格式化,当然可能没有更清洁的方法......但是谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-09-29
  • 2019-03-01
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多