复制
收藏
提问
简洁
sentence=input('请输入语句:') words=sentence.() ##1## 提取单词 count={} for i in words: count[i]=count.___2___+1 ##2## 统计词频 word_list=list(count.___3___) ##3## word_list.sort(key=lambda x:x[1],reverse=True) for item in word_list: word,num=item print('{___4___}-------{}'.format(word,num)) ##4## 输出结果
2个月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
在您提供的代码片段中,有几个地方需要填写正确的方法或属性来实现提取单词、统计词频、获取字典键值对以及格式化输出结果的功能。以下是对这些部分的详细解释和代码补全:
-
提取单词:在Python中,字符串对象的
split()
方法可以根据指定的分隔符将字符串分割成单词列表。在您的代码中,应该使用split()
方法来分割输入的语句。因此,sentence.()
应该被替换为sentence.split()
。4567 -
统计词频:在Python字典中,可以使用
get()
方法来获取键对应的值,如果键不存在,则返回默认值。在您的代码中,count.___2___
应该被替换为get()
,并且count[i]=count.get(i,0)+1
是正确的用法,它表示如果i
不在count
字典中,则从0开始计数,如果已存在,则在原有基础上加1。110 -
获取字典键值对:要将字典中的所有键值对以列表形式获取,可以使用
items()
方法。因此,count.___3___
应该被替换为items()
。8 -
格式化输出结果:在Python的字符串格式化中,可以使用
format()
方法来插入变量值。在您的代码中,'___4___'
应该被替换为word
,以确保输出的格式是word-------num
。8
综上所述,完整的代码应该是:
sentence = input('请输入语句:')
words = sentence.split() # 提取单词
count = {}
for i in words:
count[i] = count.get(i, 0) + 1 # 统计词频
word_list = list(count.items()) # 获取字典键值对
word_list.sort(key=lambda x: x[1], reverse=True) # 按词频降序排序
for item in word_list:
word, num = item
print('{0}-------{1}'.format(word, num)) # 输出结果
这段代码首先接收用户输入的语句,然后通过split()
方法将语句分割成单词列表。接着,使用一个循环和get()
方法来统计每个单词出现的频率。之后,将字典的键值对以列表形式获取,并按照词频进行降序排序。最后,使用format()
方法格式化输出每个单词及其对应的词频。4567810
你觉得结果怎么样?