我想要编写返回最频繁单词的函数,具体要求如下:
我写了一个简短的函数,但我不知道如何将需求与我的函数联系起来:
例如
txt=''Python于1991年首次发布。它是一种解释性的高级通用编程语言。它是面向对象的
由Guido van Rossum设计的Python实际上有一种以代码可读性为中心的设计理念。Python社区将根据代码的Pythonic程度对彼此的代码进行分级。 Python的库允许程序员快速入门。他们很少需要从头开始。如果一个程序员想跳进机器学习领域,那么有一个库可以供他使用。如果他们想创建一个漂亮的图表,有一个库。如果他们希望在CLI中显示进度条,那么有一个用于此的库
一般来说,Python是编程语言的乐高积木;找到一个盒子,上面有使用说明,然后开始工作。没有什么需要从头开始的。”
停止词=[“a”、“to”、“if”、“it”、“cross”、“after”、“after”、“reach”、“against”、“all”、“几乎”、“sole”]
from collections import Counter
def words_counter(sample_txt):
return Counter(sample_txt.lower().split()).most_common(8)
words_counter(txt)
[('a', 9),
('to', 8),
('python', 4),
('is', 4),
('the', 4),
('it', 3),
('code', 3),
('they', 3),
('if', 3),
('there’s', 3)]
一种方法是首先创建一个新的单词列表,删除所有与这两个条件不匹配的单词,然后从该列表中构建
Counter
顺便说一下,您的代码忽略了跳过点和逗号的要求
您可以尝试使用一个
generator
和walrus operator
,如下所示(对于python 3.8+):或者有少量的
generators
akalazy looping
:编辑: 将函数中的最后一行更改为:
相关问题 更多 >
编程相关推荐