python - Creating permuations of a list of dictionaries -


i take list of dictionaries , create new list of permutations in specific format.

for example, i've got list below dictionaries in it. create possible lists using these items in specific format: (e.g. result=[dict of type a, dict of type b, dict of type b, dict of type c, dict of type c, dict of type d, dict of type e, dict of type f]) 2 items of type b cannot equal , 2 items of type c cannot equal. processing large set of items tips on how process permutations more efficiently helpful.

{'items':[ {'name':'name10','type':'a','measure1':20,'measure2':20}, {'name':'name20','type':'a','measure1':25,'measure2':30}, {'name':'name30','type':'b','measure1':15,'measure2':40}, {'name':'name40','type':'b','measure1':20,'measure2':50}, {'name':'name50','type':'b','measure1':25,'measure2':60}, {'name':'name60','type':'c','measure1':15,'measure2':70}, {'name':'name70','type':'c','measure1':20,'measure2':80}, {'name':'name80','type':'c','measure1':25,'measure2':90}, {'name':'name90','type':'d','measure1':10,'measure2':30}, {'name':'name85','type':'d','measure1':15,'measure2':30}, {'name':'name75','type':'e','measure1':53,'measure2':30}, {'name':'name65','type':'e','measure1':10,'measure2':30}, {'name':'name55','type':'f','measure1':56,'measure2':10}, {'name':'name45','type':'f','measure1':10,'measure2':20} ]} 

let's dictionary of items in variable x:

x_set = set((i['name'], i['type'], i['measure1'], i['measure2']) in x['items']) items = [{'name': i[0], 'type': i[1], 'measure1': i[2], 'measure2': i[3]} in sorted(x_set)] new_x = {'items': items} 

it have been nice take set() of dictionaries that's not possible in python. dictionaries had unpacked tuples, , repacked dictionaries.

to handle large sets of items, consider breaking them "shards" based on name or type.


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -