Zip em Python
Em programação, trabalhar com iteráveis eficientemente é fundamental, pois eles podem ser gargalos importantes no tempo de execução de códigos. Para lidar com essas situações, o Python conta com várias funções interessantes para otimizar seus códigos. A função zip é uma delas. Zip em Python é uma ferramenta muito útil para trabalhar com vários iteráveis (sequências) simultaneamente. Para isso, ela usa dois ou mais iteráveis como argumentos e retorna um iterador que produz tuplas. Cada tupla contém elementos das posições correspondentes de cada entrada iterável. Veja um exemplo abaixo:
clientes = ["Ana", "Rodrigo", "Mara", "Mario", "Gisele", "Guilherme"]
pedidos = ["batata frita", "suco", "feijoada", "cochinha", "coca cola", "peixe frito"]
for cliente, pedido in zip(clientes, pedidos): # itera em duas sequências simultaneamente
print(f"Cliente: {cliente}, Pedido: {pedido}")
# resultados:
# Cliente: Ana, Pedido: batata frita
# Cliente: Rodrigo, Pedido: suco
# Cliente: Mara, Pedido: feijoada
# Cliente: Mario, Pedido: cochinha
# Cliente: Gisele, Pedido: coca cola
# Cliente: Guilherme, Pedido: peixe frito
Neste exemplo, o zip foi usado para iterar simultaneamente numa lista de clientes e outra com seus pedidos. O resultado obtido mostra os elementos correspondentes das diferentes listas organizados em pares.
Zip com iteráveis de tamanhos diferentes
No exemplo acima, zip foi usado para iterar em duas sequências de tamanhos iguais. Mas será que é possível usá-lo com sequências de tamanhos diferentes?
Sim, é possível. Porém, a função zip executará o loop considerando apenas o tamanho da menor sequência. Isso é ilustrado no exemplo abaixo:
clientes = ["Ana", "Rodrigo", "Mara", "Mario", "Gisele", "Guilherme", "Joaquim", "Manuela"]
cidades = ["Rio de Janeiro", "Porto Alegre", "Fortaleza", "Belo Horizonte"]
for cliente, cidade in zip(clientes, cidades):
print(f"Cliente: {cliente}, Cidade: {cidade}")
# resultados:
# Cliente: Ana, Cidade: Rio de Janeiro
# Cliente: Rodrigo, Cidade: Porto Alegre
# Cliente: Mara, Cidade: Fortaleza
# Cliente: Mario, Cidade: Belo Horizonte
Portanto, zip em Python é uma função eficiente para realizar iterações simultâneas em várias sequências. Ela pode ser usada com sequências de diferentes tamanhos, mas limitará as iterações ao tamanho da menor sequência.
Veja também:
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.