それらの値に基づいて、辞書を使用するすべての可能な方法を生成したいと思います。コードで説明するには、次のものがあります。
a = {'name' : 'a', 'items': 3}
b = {'name' : 'b', 'items': 4}
c = {'name' : 'c', 'items': 5}
これらの辞書から正確に 7 項目を (たとえば) 選択できるようにしたいと考えています。
そう:
x = itertools.product(range(a['items']), range(b['items']), range(c['items']))
y = itertools.ifilter(lambda i: sum(i)==7, x)
私に与えるだろう:
(0, 3, 4)
(1, 2, 4)
(1, 3, 3)
...
私が本当に欲しいのは:
({'name' : 'a', 'picked': 0}, {'name': 'b', 'picked': 3}, {'name': 'c', 'picked': 4})
({'name' : 'a', 'picked': 1}, {'name': 'b', 'picked': 2}, {'name': 'c', 'picked': 4})
({'name' : 'a', 'picked': 1}, {'name': 'b', 'picked': 3}, {'name': 'c', 'picked': 3})
....
これをきれいに行う方法についてのアイデアはありますか?