ComeçarComece de graça

A função map()

Vamos praticar o mapeamento!

Você se lembra de como zip() funciona? Ele combina os Iterables fornecidos de modo que os itens com o mesmo índice caiam na mesma tupla. Além disso, a saída é limitada pelo Iterable mais curto.

Sua tarefa é definir sua própria função my_zip() com *args representando um número variável de Iterables, por exemplo, listas, strings, tuplas etc. Em vez de um objeto zip, my_zip() já deve retornar uma lista de tuplas.

Observação: idealmente, args deveria ser verificado antes para saber se contém Iterables. Mas vamos omitir isso por simplicidade.

Este exercício faz parte do curso

Praticando questões de entrevista de código em Python

Ver curso

Instruções do exercício

  • Recupere o Iterable lengths a partir de args usando map() e encontre o comprimento mínimo.
  • No loop, crie o mapping usando map() para recuperar os elementos em args com o mesmo índice i.
  • Converta o mapeamento em uma tupla e anexe-o a tuple_list.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

def my_zip(*args):
    
    # Retrieve Iterable lengths and find the minimal length
    lengths = list(map(____, ____))
    min_length = ____

    tuple_list = []
    for i in range(0, min_length):
        # Map the elements in args with the same index i
        mapping = map(____, args)
        # Convert the mapping and append it to tuple_list
        tuple_list.append(____(____))

    return tuple_list

result = my_zip([1, 2, 3], ['a', 'b', 'c', 'd'], 'DataCamp')
print(result)
Editar e executar o código