Моя функция проверяет, сколько дубликатов содержит первый элемент списка в этом списке.Неверное значение, возвращаемое при подсчете количества повторяющихся элементов в списке
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
Я знаю, есть более простой подход к выполнению этого, используя набор(), но я хочу знать, где я «Неправильно в моей петле» при накоплении значений для переменной «count».
Посмотрите на [этот пример] (http://stackoverflow.com/questions/15735406/converting-word-frequency-to-a-graphical-histogram-in-python) о преобразовании частоты слова в гистограмму. Кажется, что процесс создания гистограммы слов очень похож на процесс подсчета дубликатов в списке, но я не уверен, насколько это будет уместно для того, что вы делаете. – Matt