あなたが何を求めているのかはっきりしていませんが、私はそれを試してみます
#example items
items = [{'width':5, 'height':10, 'cost':200}, {'width':6, 'height':9, 'cost':2}]
#whatever you want your criteria to be
def calculate_criteria(item):
return item['width']+item['height']+item['cost']
# create subsets based on criterion
subsets = {}
for item in items:
criteria = calculate_criteria(item)
subset = subsets.get(criteria, list())
subset.append(item)
subsets[criteria] = subset
print subsets
{17: [{'width': 6, 'cost': 2, 'height': 9}], 215: [{'width': 5, 'cost': 200, 'height': 10}]}
またはさらに良い使用collections.defaultdict
# create subsets based on criterion
subsets = collections.defaultdict(list)
for item in items:
subsets[calculate_criteria(item)].append(item)