【发布时间】:2014-12-19 00:04:57
【问题描述】:
我必须解决一些在 PHP 中对我来说非常简单的问题,但我错过了如何在 Python 中解决的问题。
假设我有以下字典:
data = {'year': [], 'week': [], 'value': []}
所有列表的长度总是相同的,因此数据的可能值是:
{'year': ['2014', '2014', '2014'], 'week': ['44', '49', '49'], 'value': [15, 20, 30]}
我想做的事:
当迭代列表'week'时:
· 如果当前周与列表中的下一周具有相同的值:
·· 用下一周覆盖那一周,用下一个覆盖年份,并将与该周具有相同索引的值相加。
我期望得到的:
所以结果是:
{'year': ['2014', '2014'], 'week': ['44', '49'], 'value': [15, 50]}
我的尝试:
· 遍历字典,但是我对python的了解很少,在尝试构建for循环时得到了object of type 'bool' has no len()之类的错误。 (我用过构造for i in range len(dictionary.index))
· 查看了itertools 和collections,但我找不到合适的。
· 以简单的方式逐步尝试:将字典中的列表合并到另一个列表中,然后逐个比较项目,将值保存到另一个列表中,等等。
有什么想法或文档要检查吗? (除了继续学习python)
【问题讨论】:
标签: python list dictionary merge iteration