Как и в случае ответа AraK, вы можете использовать массив кортежей размера 2 на языках, которые их поддерживают, причем первый элемент каждого кортежа является искомым значением, а второй - числом повторений, или вы можетеиспользуйте двумерный массив для аналогичных целей.
Некоторые языки даже имеют функции, которые позволяют вам брать массив элементов и создавать подсчитанный список.Например, Python 3.1+ имеет класс Counter
, который делает именно это, хотя, к сожалению, возвращаемый тип данных, подкласс встроенного в Python dict
, представляет собой неупорядоченную коллекцию, хотя вы можете просто использоватьl = list(Counter([collection of values]).items()); l.sort()
для создания отсортированного списка кортежей, подобного тому, который я впервые упомянул.Я уверен, что другие языки имеют аналогичные конструкции.
РЕДАКТИРОВАТЬ: обратите внимание, что, поскольку тип dict
реализован как hashtable / hashmap, на самом деле может быть проще проверить элементы (если вы, скажем,проверка наличия или отсутствия элемента в списке) с использованием самого объекта Counter, поскольку это позволит избежать затрат на преобразование и сортировку и будет стоить лишь немного больше для каждого поиска / проверки.Если у вас есть счетчик (назовем его «c»), вы можете сделать c[value] > 0
, который вернет True
, если значение находится в вашем исходном списке, и False
, если его нет.