Thursday, May 19, 2016

Conjuntos, dicionários e mapeamentos

Ainda tipos de dados nativos

Coloquei no Dropbox mais um notebook Jupyter com texto sobre conjuntos (set), dicionários (dict) e um tópico mais avançado sobre "comprehensions" que é o equivalente em Python 3 do map, lambda em Python 2.

Este notebook pode ser baixado aqui.

Tambem coloquei aqui no blog uma página HTML cópia deste notebook, que pode ser vista nos Recursos na barra direita do blog.

Em Python o tipo de dados set modela a noção de conjunto, ou seja uma coleção de elementos quaisquer onde não existe ordem entre eles e todos são únicos (sem repetição de elementos).

O tipo de dados dict é extremamente útil. Dicionários são pares compostos por chave e valor. Encontrar um valor dada uma chave é uma operação muito rápida e eficiente. A operação reversa (e não unívoca) pode ser bem mais lenta.

Na prática usaremos dicionários frequentemente.





Comprehensions são uma forma de mapear listas, dicionários ou conjuntos em outros similares, aplicando alguma função em cada elemento.

Por exemplo, dada uma lista de números queremos um modo rápido de extrair todos os pares. Isto pode ser feito com um comando, um "list comprehension", da seguinte forma:

 L = [ 1, 2, 3, 4]
 Lpar = [x for x in L if x % 2 == 0]
Num certo sentido isto lembra SQL, não é mesmo?




Com isto cobrimos o básico de tipos de dados e passaremos adiante para comandos do Python.

Breve estaremos em condição de codificar e executar nossos algoritmos em Python.



No comments:

Post a Comment