より明確にするために更新されました
値に基づいて 1 つにマージしたい辞書の 3 つのリストがあります。
リストは次のようになります。使用できる辞書の数はさまざまです。
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を使用しています。