@Stormx480
Python Backend Developer

Как подсчитать повторяющиеся символы в Python?

Есть файл с символами типо: "%[@%!}%*$}(*@)}){+@(%@*$&]*^*}*]&$[}*]%]+*}^!}*$^^_()#$^]++@__){&&+((#%+(&+)"
Файл большой. Надо найти самые редко встречаемые символы в файле.
Символы (не буквы (с буквами было бы все просто) )

Я пробовал что то типо:
spoiler
import collections

f = open('symbols.txt', 'r')

data = list(f)

counter = collections.Counter(data).most_common(5)
print(counter)


Но он выводит массив символов типа "('@##&{#&{&)*%(]{{([*}@[@&]+!!*{)!}{%+{))])[!^})+)$]#{*+^((@^@}$[**$&^{$!@#$%)!@(&"

Уже пару часов сижу туплю не могу понять.
  • Вопрос задан
  • 324 просмотра
Решения вопроса 1
@deliro
import collections

with open('symbols.txt', 'r') as f:
    data = f.read()

counter = collections.Counter(data)
print(counter.most_common(None))


Если файл настолько большой, что не влезает в ОЗУ, у Counter есть метод update, в который можно кусками вкидывать символы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы