更新以试图更清楚
我有三个字典列表,我想根据一个值将它们合并为一个。
列表看起来像这样。他们可以拥有多少个字典。
unplanned = [{'service__name': u'Email', 'service_sum': 4}, {'service__name': u'Peoplesoft', 'service_sum': 2}]
planned = [{'service__name': u'Email', 'service_sum': 2}, {'service__name': u'Gopher', 'service_sum': 2}, {'service__name': u'Peoplesoft', 'service_sum': 4}]
emerg = [{'service__name': u'Internet', 'service_sum': 1}]
我想获取 3 个列表并创建一个新列表,其中包含所有 3 个列表中的名称和按设定顺序排列的值或 0。所以我在想这样的事情。
[(Email, (4, 2, 0)), (Peoplesoft, (2, 4, 0)), Gopher, (0, 2, 0)), Internet, (0, 0, 1))]
我想我应该创建一个 service__name 的列表来与每个列表进行比较,所以我这样做了,但我不确定如何将 3 个列表与这个列表进行比较。我认为 izip_longest 会起作用,但不知道如何实现它。我正在使用 2.7。