#!/usr/bin/python3 import sys,re if sys.version[0:3] < "3.6": from collections import OrderedDict anagrams = OrderedDict() else: anagrams = {} f = open('/usr/share/dict/british-english-insane','rt') dictionary = f.read().split('\n') f.close() check = re.compile('^[a-z]+$') for word in dictionary: if check.match(word): keyl = list(word) keyl.sort() key = ''.join(keyl) if key in anagrams: anagrams[key].append(word) else: anagrams[key] = [word] output = '' for v in anagrams.values(): if len(v) > 1: op = ', '.join(v) + '\n' output += op.replace(',',':',1) print(output,end='')