Python Gerar um dicionário dinâmico a partir da lista de chaves

Eu tenho uma lista como dada abaixo -

keyList1 = ["Person", "Male", "Boy", "Student", "id_123", "Name"]
value1 = "Roger"

Como posso gerar dicionário dinâmico que pode ser recuperado como abaixo -

mydict["Person"]["Male"]["Boy"]["Student"]["id_123"]["Name"] = value

A lista poderia ser qualquer coisa; Comprimento variável ou consistindo de "N" número de elementos desconhecidos para mim ...

Agora eu tenho outra lista, de modo que Meu dicionário deve ser atualizado de acordo

keyList2 = ["Person", "Male", "Boy", "Student", "id_123", "Age"]
value2 = 25

Ou seja, se as chaves "Pessoa", "Masculino", "Menino", "Estudante", "id_123" já existirem, a nova chave "idade" deve ser anexada ...

questionAnswers(7)

yourAnswerToTheQuestion