Facebook pixel
>Blog>Programação
Programação

Como usar a função zip em Python para combinar e manipular listas

A função zip em Python é uma ferramenta extremamente útil quando se trata de combinar e manipular listas.

Como usar a função zip em Python para combinar listas

A função zip em Python é uma ferramenta extremamente útil quando se trata de combinar listas. Ela permite agrupar elementos de diversas listas em tuplas, criando uma nova lista combinada. Essa função pode ser aplicada em diferentes situações, desde a manipulação de dados até a criação de algoritmos complexos.

Utilização da função zip em Python

Para utilizar a função zip em Python, basta passar as listas desejadas como argumento para a função. Por exemplo:

lista1 = [1, 2, 3]
lista2 = ['a', 'b', 'c']

lista_combinada = zip(lista1, lista2)

for item in lista_combinada:
    print(item)

# Output:
# (1, 'a')
# (2, 'b')
# (3, 'c')

Neste exemplo, as listas lista1 e lista2 foram combinadas utilizando a função zip. Cada elemento correspondente das duas listas é agrupado em uma tupla. Ao iterar sobre a lista combinada, obtemos os pares de elementos.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

Manipulação de listas com a função zip em Python

Além de combinar listas, a função zip em Python também pode ser utilizada para manipular os elementos das listas de forma eficiente. Ao criar uma lista combinada com a função zip, é possível realizar operações em cada elemento dessa lista resultante.

Por exemplo, suponha que temos duas listas: notas e pesos. A lista notas contém as notas de um aluno em diferentes disciplinas, e a lista pesos contém os respectivos pesos dessas disciplinas.

notas = [8, 7, 9]
pesos = [2, 3, 1]

media_ponderada = sum(nota * peso for nota, peso in zip(notas, pesos)) / sum(pesos)

print(f"A média ponderada é: {media_ponderada}")

# Output:
# A média ponderada é: 7.8

Neste exemplo, utilizamos a função zip para combinar as listas notas e pesos. Através de uma expressão geradora, multiplicamos cada nota pelo seu respectivo peso e somamos esses valores. Em seguida, dividimos o resultado pela soma dos pesos, obtendo assim a média ponderada.

Dicas e truques para utilizar a função zip em Python

A função zip em Python oferece flexibilidade e várias possibilidades para manipulação de listas. Aqui estão algumas dicas e truques para otimizar o uso dessa função:

  • É possível passar mais de duas listas como argumento para a função zip.
  • lista1 = [1, 2, 3]
    lista2 = ['a', 'b', 'c']
    lista3 = [True, False, True]
    
    lista_combinada = zip(lista1, lista2, lista3)
    
    for item in lista_combinada:
        print(item)
    
    # Output:
    # (1, 'a', True)
    # (2, 'b', False)
    # (3, 'c', True)
  • Se as listas tiverem tamanhos diferentes, a função zip irá parar quando o tamanho da menor lista for atingido.
  • lista1 = [1, 2, 3, 4]
    lista2 = ['a', 'b', 'c']
    
    lista_combinada = zip(lista1, lista2)
    
    for item in lista_combinada:
        print(item)
    
    # Output:
    # (1, 'a')
    # (2, 'b')
    # (3, 'c')

Entendendo melhor o funcionamento da função zip em Python

Para entender melhor como a função zip em Python funciona, podemos considerar a implementação de uma função zip customizada. Essa função recebe como argumento a quantidade de listas a serem combinadas e retorna a lista resultante.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada
def my_zip(*args):
    tamanho_minimo = min(len(lista) for lista in args)
    resultado = []
    
    for i in range(tamanho_minimo):
        tupla = tuple(lista[i] for lista in args)
        resultado.append(tupla)
    
    return resultado

Nesse exemplo, usamos o asterisco * antes do argumento args para indicar que a função pode receber um número variável de argumentos. Em seguida, encontramos o tamanho mínimo entre as listas fornecidas e, utilizando uma list comprehension, criamos as tuplas combinando os elementos de cada lista.

Com essa função customizada, podemos reproduzir o comportamento da função zip original:

lista1 = [1, 2, 3]
lista2 = ['a', 'b', 'c']

lista_combinada = my_zip(lista1, lista2)

for item in lista_combinada:
    print(item)

# Output:
# (1, 'a')
# (2, 'b')
# (3, 'c')

Conclusão

A função zip em Python é uma poderosa ferramenta para combinar e manipular listas. Ela permite agrupar elementos de múltiplas listas em tuplas, facilitando a manipulação de dados e a criação de algoritmos mais eficientes. Ao entender a forma de utilização dessa função e aplicar os truques e dicas apresentados, você poderá otimizar suas tarefas de programação em Python. Portanto, não deixe de explorar e experimentar todas as possibilidades que a função zip tem a oferecer.

Menções

Como usar a função zip em Python para combinar e manipular listas.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

Sobre o autor

A melhor plataforma para aprender tecnologia no Brasil

A Awari é a melhor maneira de aprender tecnologia no Brasil.
Faça parte e tenha acesso a cursos com aulas ao vivo e mentorias individuais com os melhores profissionais do mercado.