此代码的目标是计算给定列表中出现次数最多的单词。我计划通过遍历字典来做到这一点。如果一个单词出现的次数大于存储在变量rep_num中的值的次数,则会重新分配该单词。当前,变量rep_num保持为0,并且未重新分配给单词在列表中出现的次数。我相信这与尝试在for循环中重新分配它有关,但是我不确定如何解决此问题。
def rep_words(novel_list):
rep_num=0
for i in range(len(novel_list)):
if novel_list.count(i)>rep_num:
rep_num=novel_list.count(i)
return rep_num
novel_list =['this','is','the','story','in','which','the','hero','was','guilty']
在给定的代码中,应该返回2,但是返回0。
答案 0 :(得分:1)
在for循环中,您正在遍历数字,而不是列出元素本身,
public class A {
public B b;
public A() {
this.b = new B();
}
}
public class B {
public C c;
public B() {
this.c = new C();
}
}
答案 1 :(得分:1)
您要遍历一个数字范围,并npm version patch --force
整数count
,列表中根本不存在任何值。请尝试此操作,它返回最大频率,并有选择地返回出现多次的单词列表。
i
答案 2 :(得分:0)
您的函数有错误(您要计算索引,而不是值),请这样写:
def rep_words(novel_list):
rep_num=0
for i in novel_list:
if novel_list.count(i)>rep_num: #you want to count the value, not the index
rep_num=novel_list.count(i)
return rep_num
或者您也可以尝试以下方法:
def rep_words(novel_list):
rep_num=0
for i in range(len(novel_list)):
if novel_list.count(novel_list[i])>rep_num:
rep_num=novel_list.count(novel_list[i])
return rep_num