一尘不染

计算Python列表中的唯一值

python

我已经在处理以下代码,但是似乎找不到一种方法来计算字谜列表中唯一值的数量。如果我只是打印出: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)

阅读 330

收藏
2021-01-20

共1个答案

一尘不染

使用setset仅包含唯一值:

print len(set(anagram))
2021-01-20