Дополнительно
Как подсчитать частоту элементов в списке?
Мне нужно найти частоту элементов в списке
a = [1,1,1,1,2,2,2,2,3,3,4,5,5]
output->
b = [4,4,2,1,2]
Также я хочу удалить дубликаты из файла
a = [1,2,3,4,5]
211
20
В Python 2.7 (или новее), вы можете использовать коллекции
.Счетчик
:Если вы используете Python 2.6 или старше, вы можете скачать ее здесь.
Так как список упорядочен вы можете сделать это:
Выход:
В Python 2.7+ вводит понимание словарь. Строительный словарь из списка поможет вам посчитать как избавиться от дубликатов.
Чтобы подсчитать количество появлений:
Для удаления дубликатов:
Подсчет частоты элементов, вероятно, лучше всего делать с помощью словаря:
Чтобы удалить дубликаты, используйте набор:
В Python 2.7+, вы можете использовать коллекциях.Счетчик для подсчета предметов
Здесь'с другой succint альтернативы с помощью модуле itertools.метод groupBy`, который также работает на неупорядоченный ввода:
результаты
Вы можете сделать это:
Выход:
Первый массив имеет значения, и второго массива-это количество элементов с такими значениями.
Так что если вы хотите получить просто массив с цифрами, вы должны использовать это:
Я бы просто использовать составляющей.статистика.itemfreq следующим образом:
вы можете проверить документацию: http://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.stats.itemfreq.html
Я довольно поздно, но это будет также работать, и поможет другим:
будет производить этот..
...
Для первого вопроса выполните итерацию списка и используйте словарь для отслеживания существования элементов.
Для второго вопроса просто используйте оператор set.
Этот ответ более четко
Выход
Простое решение с помощью словаря.
я'м, используя счетчик для генерации частоты. словарь из текстового файла слова в 1 строке кода
Для удаления дубликатов и поддерживать порядок:
Еще один подход сделать это, хотя и с помощью более тяжелый, но мощный библиотеке - в nltk.