我的函数检查列表中第一个元素具有多少个重复项。计算列表中重复项目的数量时返回错误的值
def duplicate(lst):
count=0
length = len(lst)
for i in range(1,length):
if lst[0]== lst[i]:
count+=1
print [(lst[i]),count]
例如:
duplicate(["hello", "hello","hello", "yes", "no"])=>['hello',2]
上述工作正常,但是说,我只是想存储的数值为“计数”,我调整我的代码下面,总是返回值1对于代替2正确“计数”“计数”,使用前面的例子:
def duplicate(lst):
count=0
length = len(lst)
for i in range(1,length):
if lst[0]== lst[i]:
count+=1
return count
我知道那里是做这个用集(更简单的方法),但是我想知道我在哪里在我的For Loop中错了当累计变量'count'的值时。
看看[这个例子](http://stackoverflow.com/questions/15735406/converting-word-frequency-to-a-graphical-histogram-in-python)关于将词频转换为直方图。看起来,创建一个单词直方图的过程与对列表中的重复项进行计数的过程非常相似,但我不确定多少适合您正在做的事情。 – Matt