使用公共键/值在Python字典列表中求值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用公共键/值在Python字典列表中求值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1653字,纯文字阅读大概需要3分钟。
内容图文
![使用公共键/值在Python字典列表中求值](/upload/InfoBanner/zyjiaocheng/725/caa51b06ab124417aeee410636d862de.jpg)
如果已经提出这个问题,请道歉.我是一个新手,但我看了几个其他问题/答案,看起来与我的相似,但找不到一个可以解决问题的问题.我已经尝试过Counter,但似乎无法弄清楚如何保持ID键/值.
我正在尝试使用公共键/值来汇总Python字典中的值.例如.,
list = [
{'ID':1, 'T2':10, 'T3':20},
{'ID':2, 'T2':5, 'T3':0},
{'ID':1, 'T2':5, 'T3':10},
{'ID':2, 'T2':10, 'T3':30},
{'ID':3, 'T2':5, 'T3':0}
]
但我需要这个:
newlist = [
{'ID':1, 'T2':15, 'T3':30},
{'ID':2, 'T2':15, 'T3':30},
{'ID':3, 'T2':5, 'T3':0}
]
任何帮助赞赏.
更新:
我借用了另一个答案并尝试了这个:
superdict = {}
for d in rows:
for k, v in d.items():
if superdict.get(k) is None:
superdict[k] = []
if superdict.get(k) is not None:
superdict[k].append(v)
但是,我没有得到一个新的组合/添加值列表,而是得到这样的结果:
'ID': ['3903', '3997', '3997', '3997', '3947', '4097', '3445',
'3997', '4107', '3997', '3445', '3997', '3997', '3997',
'3997', '3445', '3997', etc. etc.
更新2:
很抱歉对我的例子感到困惑.我正在寻找的是一种保持ID值静态但在字典中添加其他值的方法.因此,对应于具有值1的ID的所有值将被加在一起.
例如.这个:
list = [{'ID':1, 'T2':10, 'T3':20}, {'ID':1, 'T2':5, 'T3':10}]
变成这样:
newlist = [{'ID':1, 'T2':15, 'T3':30}]
希望这可以帮助.
解决方法:
很难理解您的预期结果应该与您的输入结果一致.给出预期/正确输出的具体示例.
我怀疑这就是你想要的?
my_list = [{'ID':1, 'T2':10, 'T3':20},
{'ID':2, 'T2':5, 'T3':0},
{'ID':1, 'T2':5, 'T3':10},
{'ID':2, 'T2':10, 'T3':30},
{'ID':3, 'T2':5, 'T3':0}]
new_dictionary = {}
for dictionary in my_list:
for key, value in dictionary.items():
if new_dictionary.has_key(key):
new_dictionary[key] = value + new_dictionary[key]
else:
new_dictionary[key] = value
#Output:
>>>new_dictionary
{'T2': 35, 'ID': 9, 'T3': 60}
内容总结
以上是互联网集市为您收集整理的使用公共键/值在Python字典列表中求值全部内容,希望文章能够帮你解决使用公共键/值在Python字典列表中求值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。