groups = { 'heat':'heat', 'cook':'heat', 'bake':'heat', 'grill':'heat', 'melt':'heat', 'blend':None, 'beat':'prepare', 'spread':None, 'cool':'cool', 'brown':'heat', 'cut':'prepare', 'chill':'cool', 'drain':None, 'boil':'heat', 'simmer':'heat', 'pour':None, 'freeze':'cool', 'saute':'heat', 'rinse':'prepare', 'warm':'heat', 'wash':'prepare', 'knead':'prepare', 'peel':'prepare', 'parboil':'heat', 'break':'prepare', 'broil':'heat', 'scorch':'heat', 'skim':None, 'fry':'heat', 'refrigerate':'cool', 'burn':'heat', 'thicken':None, 'grate':'prepare', 'brush':'prepare', 'open':'prepare', 'crack':'prepare', 'poach':'heat', 'slice':'prepare', 'whisk':None, 'dice':'prepare', 'marinate':None, 'whip':None, 'sour':None, 'soak':None, 'steam':'heat', 'chop':'prepare', 'mince':None, 'mash':'prepare', 'squeeze':'prepare', 'wipe':'prepare', 'thaw':'prepare', 'curdle':'heat', 'sweeten':None, 'baste':None, 'carve':None, 'grind':'prepare', 'debone':'prepare', 'steep':None, 'clarify':None, 'macerate':'prepare', 'crumple':'prepare', 'braise':'heat', 'gut':None, 'bury':None, 'spread':None, 'place':None } inverse_groups = {} for g in set(groups.values()): if g is not None: inverse_groups[g] = [] for a,g in groups.items(): if g is not None: inverse_groups[g].append(a)