import json if __name__ == "__main__": ppls = None sharing_data = {} with open("connect_ppl.json", "r") as fp: ppls = json.load(fp) for people in ppls: sharing_data[people['name']] = { 'connected': [], 'contacts': '' } want_share_with = people['want_to'].replace(', ', ',').split(',') for want_share_with_name in want_share_with: for next_run_people in ppls: if next_run_people['name'] != want_share_with_name: continue try: if next_run_people['name'] in sharing_data[people['name']]['connected']: continue except KeyError: pass for next_want_share_with_name in next_run_people['want_to'].replace(', ', ',').split(','): if next_want_share_with_name == people['name']: sharing_data[people['name']]['connected'].append(next_run_people['name']) sharing_data[people['name']]['contacts'] += "* {0} ({1})\n".format(next_run_people['name'], next_run_people['contact']) with open("connected_ppl.json", "w") as fp: json.dump(sharing_data, fp)