珠玉のプログラミングのお題を python で書いてみた : 4
#!/bin/env python """ 2.4 the sort to summarize(P18-21) Problem C anagram : posts stop tops """ # global DIC = ['pans','pots','opt','snap','stop','tops'] def main(): print "Dictionary : ", DIC d = {} for i in DIC: sgrp = sign(i) if d.has_key(sgrp): d[sgrp] = squash(d[sgrp], i) else: d[sgrp] = [i] print "anagram : ", d def sign(s): t = [x for x in s] t.sort() r = '' for i in t: r += i return r def squash(ds, s): t = [] t = ds t.append(s) return t if __name__ == '__main__': main()
実行結果。
Dictionary : ['pans', 'pots', 'opt', 'snap', 'stop', 'tops'] anagram : {'opt': ['opt'], 'anps': ['pans', 'snap'], 'opst': ['pots', 'stop', 'tops']}