quinta-feira, 25 de maio de 2017

Coloca o óculos que vamos ler um texto (de um arquivo)

Muita gente que já programou em outras linguagens, se apaixonou por Python por muitos motivos, mas um deles é a facilidade com que se constrói as coisas. Um bom exemplo disso é o próprio "Hello world". Veja só:

C#:

// A Hello World! program in C#. using System; namespace HelloWorld { class Hello { static void Main() { Console.WriteLine("Hello World!"); // Keep the console window open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); } } }
Java:
public class HelloWorld

{
public static void main (String[] args)
{ // Prints "Hello, World" to the terminal window. System.out.println("Hello, World");
}
}

Cobol:
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
* simple hello world program
PROCEDURE DIVISION.
    DISPLAY 'Hello world!'.
    STOP RUN.
Delphi:
program HelloWorld;
{$APPTYPE CONSOLE}
begin
WriteLn('Hello World');
end.
Python: print("Goodbye, World!") Pois bem... O que muita gente que programa em Python não sabe é que o que é simples pode ficar ainda mais simples! Vamos a alguns exemplos: Temos esse lindo laço de repetição chamado for: listinha = [] for quadrado in range(10): listinha.append(quadrado**2) print(listinha) Bem... Essa foi fácil né? Mas vamos dar uma melhorada nisso: listinha = list(map(lambda x: x**2, range(10))) print(listinha) Uai! Que coisa massa, hein?? Mas não para por aí! Vamos remelhorar! listinha = [x**2 for x in range(10)] print(listinha) Nossa!!! Tô mais bobo que o Kuririn quando o Vegeta se transformou em Super Sayajin! Resultado de imagem para kuririn Muito legal né? Agora vamos ver outra bruxaria do Python. Vamos criar duplas de números onde os algarismos não se repitam entre si, usando duas listas: duplinha = [] for x in [1,2,3]: for y in [3,1,4]: if x!=y: duplinha.append((x,y)) print(duplinha) Aplicando a magia: duplinha = [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y] print(duplinha) Sensacional né? Esse tio Python é mais inacrebelieveble que a vassoura de aço!!! Imagem relacionada Agora a saideira: vamos fazer uma matriz transposta: matrix = [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], ] transposta = [[row[i] for row in matrix] for i in range(4)] print(transposta) QUE COISA MAIS LINDA DE DEUS!!! Imagem relacionada O nome dessa mágica é LIST COMPREHENTION. Vale a pena pesquisar sobre. Inclusive, temos esse belo vídeo do mestre da vida Edu Mendes:

4 comentários:

  1. Prefiro:
    Vamos conquistar as esferas do dragão levar pra luta a garra de um vencedor
    correr e pegar as esferas do dragão são tantas maravilhas pra descobrir

    ResponderExcluir
  2. Emerson Lara, boa tarde.
    Tenho um sistema de cadastro de clientes, tenho que utilizar os dados de uma arquivo .csv para preencher os dados dos clientes, como fazer esta interação. Exemplo: os dados dos clientes estão na planilha e preciso cadastrar no sistema.

    ResponderExcluir
    Respostas
    1. Olá Rodrigo Arriel!
      Obrigado por visitar o nosso blog!

      Você pode usar o "with open" como mostrado no exemplo desse post.
      Outro meio bacana é usando a biblioteca "pandas" que tem um módulo pra tratar o seu csv como um data frame. Não só CSV mas também arquivos do Excel e outros formatos.
      Dá uma pesquisada sobre o Pandas aí.

      Se tiver dificuldades, pode me perguntar, ok?

      Excluir
    2. Emerson obrigado, vou verificar.

      Excluir