#!/usr/bin/env python3 import pickle import pprint with open('feats.pickle', 'rb') as f: allfeats = pickle.load(f) prefeats = {} for f in allfeats: if 'feat' in f['prereqs']: fs = f['prereqs']['feat'] if isinstance(fs, list): for pf in fs: if pf in prefeats: prefeats[pf] += 1 else: prefeats[pf] = 1 else: if fs in prefeats: prefeats[fs] += 1 else: prefeats[fs] = 1 outfeats = sorted(prefeats, key=lambda x: prefeats[x]) for of in outfeats: print("%s, %s" % (of, prefeats[of]))