Estruturas de dados do Django

15 Abr 2009

O Django tem um módulo com algumas estruturas de dados bem úteis, que ele usa internamente. Fica em django.utils.datastructures.

Uma delas é a SortedDict, como o nome mesmo já diz, é um dicionário que mantém as chaves ordenadas. Já vi muita gente perguntando como ordenar os itens de um dicionário, taí um jeito.

Ele faz isso herdando de dict e mantendo uma lista interna (keyOrder) com a ordem real das chaves. Não é algo complicado de se fazer, mas já ter lá pronta pra usar é uma mão na roda. O dicionários de campos (self.fields) dos formulários do Django são instâncias de SortedDict, por exemplo.

Outra bem interessante é a MultiValueDict, um dicionário onde cada chave pode ter mais de um valor.

Bem, fica a dica! Um bom começo, pra quem usa Django, pra começar a dar uma fuçada nos fontes.

Comentários

André Luiz Müller

Show de bola!

Às vezes ficamos reinventando a roda.

Boa dica!

Enrico Batista da Luz

Legal Igor, estas estruturas costumam ser bem úteis mesmo, de vez em quando eu uso o SortedDict.

Acho que tem alguns "typos" na segunda frase do segundo parágrafo, em negrito:

"Já vi muita gente pergundando como [??] os itens de um dicionário, taí um jeito. "

Igor Sobreira

Valeu Enrico, consertado!

blog comments powered by Disqus