# W tej wersji:
# zamiana wszystkich słów na małe litery
# sortowanie alfabetyczne słów, zgodnie z localami
import re
pattern = re.compile(r'\w+')

slownik = {}
with open('pan_tadeusz.txt', mode='r', encoding='utf-8') as plik:
    for linia in plik:
        for slowo in re.findall(pattern, linia):
            slowo = slowo.lower()
            if slowo in slownik:
                slownik[slowo] += 1
            else:
                slownik[slowo] = 1

# for slowo, ile in sorted(slownik.items()):
#     print(slowo, ile)

import locale
locale.setlocale(locale.LC_COLLATE, 'pl_PL.utf8')
for slowo, ile in sorted(slownik.items(), key=lambda item: locale.strxfrm(item[0])):
    print(slowo, ile)
