'a'<'b'
'a'>'B'
所以首先都变成小写吧。
然后
sorted_string=reduce(lambda
x,y:x>y
and
y+x
or
x+y,lowered_string
)
这样会失去原字符串的大小写。
如果想保留大小写,
让他们等效,恐怕需要专门定义一个函数来比较,
一个lambda搞不定。
------------------
看错了,是排序英文名,也是同样的方法,把每个名字第一字符拿出来比较就行了。
import nltkfile_b = open('a.txt', 'r')
tokens = nltk.word_tokenize(file_b)
fdist1 = nltk.FreqDist(tokens)
for key,val in sorted(fdist1.iteritems())[:5]:
print ("{1}: {0}".format(key, round(val / len(tokens), 2)))