Подсчет и сортировка количества букв в тексте

Требуется подсчитать количество букв, результат отсортировать по частоте встречаемости букв (по возрастанию или убыванию). Регистр символов имеет значение.

Во кусок кода, а дальше ступор... Распаковка архива, чтение файла и почти сортировка букв (нужно дернуть только буквы RU и EN алфавита и отсортировать их с подсчетом)

import zipfile
from collections import Counter

archive = zipfile.ZipFile('voyna-i-mir.zip', 'r')
archive.extractall()
archive.close()

fin = open('voyna-i-mir.txt', 'r', encoding='utf8')
data = fin.read().replace(' ', '')

counts = Counter(data)
for i in counts:
    print(i, counts[i])

Ответы (2 шт):

Автор решения: RuslanZanevskiy
from string import ascii_letters

ru_symbols = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
ru_symbols += ru_symbols.upper()

symbols = []
for i in counts:
    if i in ru_symbols or i in ascii_letters:
        symbols.append((count[i], i))

symbols.sort(reverse=True)
→ Ссылка
Автор решения: 3Vw
import re
import zipfile
from collections import Counter

archive = zipfile.ZipFile('voyna-i-mir.zip', 'r')
archive.extractall()
archive.close()

pattern = r'[А-Яа-яA-Za-z]'

with open('voyna-i-mir.txt', 'r', encoding='utf8') as book:
    book_txt = book.read()

letters = re.findall(pattern, book_txt, flags=re.MULTILINE)

counts = Counter(letters)
for i in counts:
    print(i, counts[i])

Подправил, как теперь отсортировать вывод по возрастанию или убыванию ?

→ Ссылка