I have list of dictionaries
vals = [
{'tmpl_id': 67, 'qty_available': -3.0, 'product_id': 72, 'product_qty': 1.0},
{'tmpl_id': 67, 'qty_available': 5.0, 'product_id': 71, 'product_qty': 1.0}
{'tmpl_id': 69, 'qty_available': 10.0, 'product_id': 74, 'product_qty': 1.0}
]
from operator import itemgetter
getvals = operator.itemgetter('tmpl_id')
val.sort(key=getvals)
result = []
for k, g in itertools.groupby(val, getvals):
result.append(g.next())
val[:] = result
I want to remove duplicate values (tmpl_id) and also based on qty_available is lesser or negative
Output will be like:
vals = [
{'tmpl_id': 67, 'qty_available': 5.0, 'product_id': 71, 'product_qty': 1.0}
{'tmpl_id': 69, 'qty_available': 10.0, 'product_id': 74, 'product_qty': 1.0}
]