Dict comprehensions

Anteriormente, escrevi sobre as list comprehensions, que são um recurso bem interessante da linguagem Python (se você não leu, veja ). Elas permitem que criemos listas usando uma sintaxe muito simplificada. Assim como existem as list comprehensions para listas, existem os dict comprehensions para dicionários. A sintaxe é bem simples. Se quisermos criar um dicionário com base nos valores de uma lista, onde cada elemento da lista será chave para um valor que representa o dobro de si, podemos utilizar a seguinte estrutura:

>>> d = {i:i**2 for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}
>>> print d
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

Para fazermos um dicionário que utilize como chave o número inteiro que representa o código ASCII de determinado caractere e que tenha tal caractere como respectivo valor, podemos usar o seguinte dict comprehension:

>>> {i : chr(i) for i in range(65, 91)}
{65: 'A', 66: 'B', 67: 'C', 68: 'D', 69: 'E', 70: 'F', 71: 'G', 72: 'H', 73: 'I', 74: 'J', 75: 'K', 76: 'L', 77: 'M', 78: 'N', 79: 'O', 80: 'P', 81: 'Q', 82: 'R', 83: 'S', 84: 'T', 85: 'U', 86: 'V', 87: 'W', 88: 'X', 89: 'Y', 90: 'Z'}

Mais em: http://www.python.org/dev/peps/pep-0274/

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s