Coletânea Python do ZERO às Redes Neurais Artificiais
Zip
Muitas das vezes que estamos trabalhando com dados em formato de lista nos deparamos com situações onde precisamos unir listas de modo que possamos iterar sobre seus elementos como um todo.
Dentre as funcionalidades do Python que temos para essa finalidade,
talvez a mais interessante delas seja a manipulação de listas por meio do método zip( ).
Por meio dessa função podemos realizar a união não somente de listas de
mesmo tamanho, onde os elementos de uma serão equivalentes aos da outra, mas podemos perfeitamente realizar a união de listas de diferentes tamanhos sem que isso gere alguma exceção ou comportamento adverso em nossas estruturas de dado.
Para esse exemplo criamos duas listas equivalentes, cada uma com 4
elementos em formato de string, atribuídas para as variáveis cidades e estados respectivamente.
Imediatamente fazendo o uso de zip( ), note que criamos uma terceira
variável de nome cidades_estados, atribuída para si temos a função zip( ) por sua vez parametrizada com os dados de cidades e estados.
Nesse caso, onde cada lista possui um número específico de elementos e
ambas possuem o mesmo número de elementos, o que a função zip( ) fará é simplesmente unir cada elemento de uma lista com outra, com base no valor de índice de cara elemento.
Em outras palavras, por meio da função zip( ) o retorno que teremos é a
junção dos elementos de índice 0 em ambas listas, seguidos dos elementos de índice 1, seguidos dos elementos de índice 2, sucessivamente por quantos elementos existirem.
Preste atenção no retorno, pois há uma particularidade aqui, em função
da equivalência de elementos, os mesmos são colocados unidos entre parênteses.
Veja que interessante, uma vez criada nossa variável cidades_estados,
podemos iterar sobre os dados da mesma, mas antes disso, vamos realizar uma simples verificação quanto ao tipo de dado de cidades_estados.
Nesse caso, o que nos é retornado é que o tipo de dado em questão, para
nossa variável cidades_estados, é do tipo zip. Em outras palavras, por meio da função zip( ) temos o tipo de dado zip.
Realizando uma simples varredura sobre os elementos de
cidades_estados, podemos verificar que a estrutura geral dessa variável é um objeto do tipo zip, porém internamente, como é de se esperar, cada elemento é uma tupla independente.
Sendo assim, devemos sempre levar em consideração a real necessidade
da união de listas, pois nesse processo ocorre não somente a união mas a conversão dos tipos de dados, limitando um pouco as possibilidades de manipulação dos mesmos.