我有以下代码我一直在努力,但我似乎无法找到一种方法来计算anagram列表中唯一值的数量。如果我打印出来:print len(anagram)
我得到列表的总值,但它包含重复项。
我试图将列表转换为一个集合并返回以删除重复项,但没有任何运气。
谢谢!
#import libraries
import urllib, itertools
#import dictionary
scrabble = urllib.urlopen('http://www.puzzlers.org/pub/wordlists/ospd.txt').read().split()
#print the length of the dictionary
print len(scrabble)
#make anagrams from scrabble list
anagrams = [list(g) for k,g in itertools.groupby(sorted(scrabble, key=sorted), key=sorted)]
#print the largest anagram
print "Largest number of anagrams for a word : ", len(max(anagrams, key=len))
print "Largest anagram word and values ", max(anagrams, key=len)
答案 0 :(得分:1)
使用set
。 set
只保留唯一值:
print len(set(anagram))