Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python. Работа со списками

Schmarotzer Мастер (1547), закрыт 4 года назад
Имеется список с грубо говоря случайными цифрами.
Как узнать количество повторяющихся чисел?
Пример:
[2,53,102,2,4,2,74,4,53]
надо получить:
3,2,2,1,1
Числа могут быть очень большими и функция на цикле
Лучший ответ
Senior Backend Developer Оракул (77702) 4 года назад
d = {}
for i in s:
n = d.setdefault(i, 0)
d[i] += 1
print(*d.values())
Остальные ответы
Black Afgano Просветленный (22282) 4 года назад
Если просто узнать кол-во вхождений, то

s = [2,53,102,2,4,2,74,4,53]
res = []
temp = []
for i in s:
~~~~if i not in temp:
~~~~~~~~res.append(s.count(i))
~~~~~~~~temp.append(i)
print(*res, sep=',')
SchmarotzerМастер (1547) 4 года назад
Премного благодарен! :)
Оксана ПоповаГуру (3097) 4 года назад
[s.count(i) for i in set(s)]
В питоне все в одну строчку решается
Senior Backend Developer Оракул (77702) Ну, это тоже так себе решение O(n^2), там где можно сделать O(n)
Похожие вопросы