给出以下列表
['Jellicle', 'Cats', 'are', 'black', 'and', 'white,', 'Jellicle', 'Cats', 'are', 'rather', 'small;', 'Jellicle', 'Cats', 'are', 'merry', 'and', 'bright,', 'And', 'pleasant', 'to', 'hear', 'when', 'they', 'caterwaul.', 'Jellicle', 'Cats', 'have', 'cheerful', 'faces,', 'Jellicle', 'Cats', 'have', 'bright', 'black', 'eyes;', 'They', 'like', 'to', 'practise', 'their', 'airs', 'and', 'graces', 'And', 'wait', 'for', 'the', 'Jellicle', 'Moon', 'to', 'rise.', '']
我正在尝试计算每个单词出现多少次并显示前3位。
但是,我只想查找首字母大写的前三位,而忽略不首字母大写的所有单词。
我敢肯定有比这更好的方法,但是我的想法是做以下事情:
如果您使用的是Python的早期版本,或者您有充分的理由推出自己的单词计数器(我想听听它!),则可以尝试使用以下方法dict。
dict
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> word_list = ['Jellicle', 'Cats', 'are', 'black', 'and', 'white,', 'Jellicle', 'Cats', 'are', 'rather', 'small;', 'Jellicle', 'Cats', 'are', 'merry', 'and', 'bright,', 'And', 'pleasant', 'to', 'hear', 'when', 'they', 'caterwaul.', 'Jellicle', 'Cats', 'have', 'cheerful', 'faces,', 'Jellicle', 'Cats', 'have', 'bright', 'black', 'eyes;', 'They', 'like', 'to', 'practise', 'their', 'airs', 'and', 'graces', 'And', 'wait', 'for', 'the', 'Jellicle', 'Moon', 'to', 'rise.', ''] >>> word_counter = {} >>> for word in word_list: ... if word in word_counter: ... word_counter[word] += 1 ... else: ... word_counter[word] = 1 ... >>> popular_words = sorted(word_counter, key = word_counter.get, reverse = True) >>> >>> top_3 = popular_words[:3] >>> >>> top_3 ['Jellicle', 'Cats', 'and']
热门提示 :每当您要使用这样的算法时,交互式Python解释器就是您的朋友。只需将其键入并观看,然后检查整个过程中的元素。