プログラミング初心者です。
checkiOを使ってpythonを勉強しています。

「入力はstrとlist。strで入力した文章の中に含まれるlistで指定した単語の個数を辞書型で出力する関数を書け」という問題について質問させてください。

例えば、
'''When I was One I had just begun When I was Two I was nearly new''', ['i', 'was', 'three', 'near']))
と指定した場合、出力が
{'i': 4,'was': 3,'three': 0,'near': 0}
となります。

ヒントを参考にしながら以下のようなプログラムを書きました。

def popular_words(text: str, words: list) -> dict:
    text_list = text.split()
    answer = {}
    for character in words:
        answer[character] = text_list.count(character)
    return answer

このプログラムの中で、5行目が理解できません。
text_list.count(character)は理解できるのですが、なぜ左辺にanswer[character]を入れなければならないのか、またこれがどんな役割を担っているのか理解できていません。
また、この一行のみで答えの辞書型が出力できているのも不思議に感じております。

初歩的な質問で恐縮ですが、ご教授いただければ幸いです。