>>>import re
>>>from collections import Counter
>>> doc='''На мир таинственный духов,
Над этой бездной безымянной,
Покров наброшен златотканный
Высокой волею богов.
День – сей блистательный покров
День, земнородных оживленье,
Души болящей исцеленье,
Друг человеков и богов!
Но меркнет день – настала ночь;
Пришла – и с мира рокового
Ткань благодатную покрова
Сорвав, отбрасывает прочь…
И бездна нам обнажена
С своими страхами и мглами,
И нет преград меж ей и нами –
Вот отчего нам ночь страшна!'''
>>> lst = [i.lower() for i in re.split(r'[^а-яА-Я]',doc) if i]
>>> c = Counter(lst)
>>> summ = sum(c.values())
>>> d = {i[0]:round(i[1]/summ*100,2) for i in c.items()}
>>> d
{'на': 1.54, 'мир': 1.54, 'таинственный': 1.54, 'духов': 1.54, 'над': 1.54, 'этой': 1.54, 'бездной': 1.54, 'безымянной': 1.54, 'покров': 3.08, 'наброшен': 1.54, 'златотканный': 1.54, 'высокой': 1.54, 'волею': 1.54, 'богов': 3.08, 'день': 4.62, 'сей': 1.54, 'блистательный': 1.54, 'земнородных': 1.54, 'оживленье': 1.54, 'души': 1.54, 'болящей': 1.54, 'исцеленье': 1.54, 'друг': 1.54, 'человеков': 1.54, 'и': 9.23, 'но': 1.54, 'меркнет': 1.54, 'настала': 1.54, 'ночь': 3.08, 'пришла': 1.54, 'с': 3.08, 'мира': 1.54, 'рокового': 1.54, 'ткань': 1.54, 'благодатную': 1.54, 'покрова': 1.54, 'сорвав': 1.54, 'отбрасывает': 1.54, 'прочь': 1.54, 'бездна': 1.54, 'нам': 3.08, 'обнажена': 1.54, 'своими': 1.54, 'страхами': 1.54, 'мглами': 1.54, 'нет': 1.54, 'преград': 1.54, 'меж': 1.54, 'ей': 1.54, 'нами': 1.54, 'вот': 1.54, 'отчего': 1.54, 'страшна': 1.54}
>>>