我正在使用下面的代码来比较我给定的字符串中的每个值,如果任何字符与4匹配,我都需要总匹配次数。
我尝试了以下方法,但我只得到0,请问任何人可以检查并提出建议,我哪里出错了?
def wordcount(list):
count=0
values=[]
for i in range (len(list)):
if int(list[i])==4:
print("the value taken from the loop is: ",list[i])
print("comparison result is: ",list[i]==4)
count=count+1
print("match count=",count)
values.append(count)
return values
else:
values.append(count)
return values
# return count
print(wordcount(“ 1452454878594521564”))
预计5为计数
答案 0 :(得分:0)
您的代码不起作用的原因是因为一旦执行return
语句,循环将不会再次执行。该控件将无法使用该功能。修改代码的方法如下:
def wordcount(l):
count=0
for i in range(len(l)):
if int(l[i])==4:
count=count+1
return count
print(wordcount("1452454878594521564"))
我删除了空值列表,因为老实说,我没有看到它的目的。
此外,如果您要对字符串中的特定字符进行计数,请使用count方法:
print("1452454878594521564".count('4'))
答案 1 :(得分:0)
如果您要查找字符串中是否重复了4次项,则得到的结果是正确的。下面的代码将演示一个项目重复出现4次或以上的次数:
def wordcount(list):
count=0
values=[]
for item in list:
innercount=0
for initem in list:
if item == initem:
innercount=innercount+1
if innercount >=4:
count=count+1
values.append([item,innercount])
#list = list.replace(item, "")
return values, count
如果您希望唯一的出现,请取消对注释行的散列。