实验说明
1、查找热词
热词分析在公众趋势分析、舆情分析有很宽广的应用,根据词汇的出现次数,分析热点词汇,能够看出一些研究、舆情等方面的热点。请编写程序,对给定的一段英文文献中,统计其中单词出现的次数,列出出现最多的单词和其出现的次数。
思路:分三步
- 将段落中的单词提取出来,放到列表1中
可以用空格替换段落中的符号,然后使用空格分割段落,获得单词,放入列表1中。
- 统计列表1中的单词的出现次数
先生成一个新的列表,该列表是一个列表类型的列表,其中每个元素是一个包含[单词,次数]的列表,
获取列表1中不重复的元素,
例如,‘car’放入到列表1的元素的第一项,car’在列表2中出现的次数,放入列表1的元素第二项,
- 排序找出出现次数最多的单词
使用第二项进行降序排序。
1.代码:
temp=str(input('请输入一段句子:')) #设置一个空字符串储存输入的句子
new_str1=temp.replace(","," ")
new_str2=new_str1.replace("."," ")
new_str3=new_str2.replace("?"," ")
new_str4=new_str3.replace(";"," ")
new_str5=new_str4.replace(":"," ")
new_str6=new_str5.replace("!"," ") #将所有标点符号变成空格
list2=new_str6.split( ) #空列表储存替换之后的字符串
list3=[]
list4=[]
for i in list2:
if not i in list3:
list3.append(i)
print(list3)
for i in list3:
list2.count(i)
list4.append([i,list2.count(i)])
def takeSecond(elem):
return elem[1]
list4.sort(key=takeSecond, reverse=True)
most_common_word = list4[0][0]
print(f"出现次数最多的是:{most_common_word}")
print("按出现次数降序排列的结果:")
print(list4)
2.结果:
3.分析:
先将输入的句子储存在temp中,然后将所有的标点符号替换为空格,对字符串进行分割,将出现过的元素储存在list3,list4.append([i,list2.count(i)])
新的列表,该列表是一个列表类型的列表,其中每个元素是一个包含[单词,次数]的列表,获取列表1中不重复的元素, append添加元素i和次数储存在list4中,
def takeSecond(elem):
return elem[1]
list4.sort(key=takeSecond, reverse=True)
most_common_word = list4[0][0]
降序排列,输出次数最多的