【发布时间】:2017-06-02 22:22:51
【问题描述】:
我需要将两个列表与其中的字典合并:
dict1 = [{'Count': '307', 'name': 'Other', 'Percentage': '7.7%'}, {'Count': '7,813', 'name': 'Other', 'Percentage': '6.8%'}...]
dict2 = [{'Place': 'Home'}, {'Place':'Forest'},...]
第一个列表(56 个字典)中有 56 个元素,第二个列表(dict2)中有 14 个元素。我想要做的是将dict2中的第一个元素插入到dict 1的前四个元素并重复该过程,直到dict1中的所有56个元素都具有{Place:x}。
所以最终我想要得到的是:
newdict = [{'Count': '307', 'name': 'Other', 'Percentage': '7.7%', 'Place': 'Home'}, {'Count': '7,813', 'name': 'Other', 'Percentage': '6.8%', 'Place':'Home'},{'Name': 'Other', 'Percentage': '6.6%', 'Place': 'Home', 'Count': '1,960'},{'Name': 'Other', 'Percentage': '7.6%', 'Place': 'Home', 'Count': '1,090'},{'Name': 'Other', 'Percentage': '7.6%', 'Place': 'Forest', 'Count': '1,090'} ]
等等..
当dict2用尽时,它应该再次从第一个元素开始。
所以我更新了问题。我对这个问题的第一个看法是将 dict2 中相同键:值的数量增加到:
dict2 = [{'Place': 'Home'}, {'Place':'Home'},{'Place':'Home'},{'Place':'Home'},{'Place':'Forest'},{'Place':'Forest'}...]
然后使用下面提到的相同方法来合并字典。但我相信应该有一种方法可以在不改变 dict2 的情况下做到这一点。
【问题讨论】:
-
第二个列表用完后,第一个列表的第十五个元素应该怎么办?
-
你的
dict2只有14个元素,当我们处理`dict1中的第15个元素会发生什么? -
它应该再次从第一个元素(dict2)开始。
-
你试过了吗?
-
dict1和dict2不是lists 的好名字
标签: python dictionary