Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: banner
Por mrtuxys
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Usando a função map em vez de for (Python)
Linux user
Publicado por Cristiano M. T. em 04/03/2008

Login: Guga360, 43712 pontos
[ Hits: 4624 ]

Usando a função map em vez de for (Python)

Uma coisa que muita gente não conhece no Python é a função map, vamos analisar esse código que criar uma lista com os quadrados dos números de 0 a 10:

final = []

def retornaquadrado(x):
    return x**2

for item in range(11):
    final.append(quadrado(item))

Deu pra ver que isso deixa e código muito grande, e pode ser simplificada usando o map, que é um comando parecido com o for, só que mais simples...

Segue um exemplo:

def retornaquadrado(x):
    return x**2

final = map(retornaquadrado,range(11))

Sim, essa linha (a definição da função não conta =P) é a mesma coisa que aquele código, e isso pode simplificar muito o seu programa! Espero que aproveite ;)


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Novo TradutorOOoNote substitui texto e envia o antigo para anotação
   Dica Linux recomendada Compilando e testando o Unladen Swallow no Linux
   Dica Linux recomendada TP-1 Engine - motor para criação de jogos
   Dica Linux recomendada Hardware Project Simulator 0.1 - Simulador de montagem de computadores
   Dica Linux recomendada Python: Somando valores em um dicionário de strings

Comentários
[1] Comentário enviado por danltmz em 26/09/2009 - 10:58h:

A função map é muito utilizada quando se usa o paradigma de programação funcional, e apesar de o funcionamento dela ser bem simples, seria bom explicar melhor aos iniciantes..

Funcionamento:

a função map recebe dois argumentos, o primeiro deles é o nome de uma função e o segundo uma lista, então map retorna uma outra lista que contem os resultados provenientes da ação daquela função sobre cada ítem da lista..

exemplificando, se tivéssemos:
--------------------
lista = []

def dobra(x):
....return x*2 #OBS: os 4 pontinhos nao fazem parte do código

lista = map(dobra,(1,2,3,4))
--------------------

após a execução da função map, a aparência de 'lista' seria '[2,4,6,8]'

Mas boa dica :)


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.