Desenvolvimento

28 dez, 2012

Melhores de 2012 – Explicando comprehensions para programadores

Publicidade

O que tivemos de mais interesse em 2012? Quais foram melhores artigos, as opiniões que geraram maiores discussões? Isso é o que você vai encontrar nessa seleção de artigos que fizemos especialmente para você: os melhores conteúdos de 2012. Já que final e início de ano é sempre um tempo propício para fazer um balanço do que passou e o planejamento para o que ainda virá, esperamos que os artigos publicados aqui te ajudem nisso!

Boas festas e feliz 2013! Um abraço da equipe de Redação do iMasters!

 

No primeiro ou no segundo ano programando com Python, eu nunca usei list comprehension (na época, eram comprehensions apenas). Eu li sobre elas, meio que descobri como trabalhavam, e depois agarrei map() e filter(), os quais eu entendi. Olhando para trás, acho que isso tem muito a ver com o fato de que as explicações de comprehensions são feitas usando a sua origem – a matemática – em vez do domínio em que as usamos – programação.

Uma busca rápida no DuckDuckGo me diz que esse ainda é o caso – a Wikipedia nos pede para considerar algo como isto: S = {2 ? x | x?N | x> 3}, e outras fontes também parecem começar com ‘isso é como é feito em matemática, então … ‘ (uma exceção notável é otutorial sobre python.org).

Ao falar com programadores, eu gostaria de explicar comprehensions de maneira diferente, porque nem todos eles têm um background em matemática. Para um programador, uma list comprehension é simplesmente um loop de fors para constrir listas, usando uma notação mais declarativa do que um loop for usual. Para aqueles de nós que acostumados a map() efilter(), list comprehension são as duas coisas também.

Continue lendo este artigo!