Maneira mais rápida de converter chaves e valores de um dict de `unicode` para` str`?

Estou recebendo um dict de uma "camada" de código na qual alguns cálculos / modificações são executados antes de passá-lo para outra "camada". As chaves e os valores de "strings" do dict original sãounicode, mas a camada em que estão sendo passados ​​só aceitastr.

Isso vai ser chamado frequentemente, então eu gostaria de saber qual seria o caminho mais rápido para converter algo como:

{ u'spam': u'eggs', u'foo': True, u'bar': { u'baz': 97 } }

...para:

{ 'spam': 'eggs', 'foo': True, 'bar': { 'baz': 97 } }

... tendo em mente que os valores não "string" precisam permanecer como seu tipo original.

Alguma ideia?

questionAnswers(6)

yourAnswerToTheQuestion