El método zip() de Python toma iterables o contenedores y devuelve un solo objeto iterador, con valores asignados de todos los contenedores.
Se usa para mapear el índice similar de múltiples contenedores para que puedan usarse solo usando una sola entidad.
Sintaxis: zip(*iteradores)
Parámetros: Python iterables o contenedores (lista, string, etc.)
Valor de retorno: Devuelve un solo objeto iterador, con valores asignados de todos los
contenedores.
Ejemplo de Python zip()
Ejemplo 1: Python zip dos listas
Python3
name = [ "Manjeet", "Nikhil", "Shambhavi", "Astha" ] roll_no = [ 4, 1, 3, 2 ] # using zip() to map values mapped = zip(name, roll_no) print(set(mapped))
Producción:
{('Shambhavi', 3), ('Nikhil', 1), ('Astha', 2), ('Manjeet', 4)}
Ejemplo 2: enumeración zip de Python
Python3
names = ['Mukesh', 'Roni', 'Chari'] ages = [24, 50, 18] for i, (name, age) in enumerate(zip(names, ages)): print(i, name, age)
Producción:
0 Mukesh 24 1 Roni 50 2 Chari 18
Ejemplo 3: Diccionario Python zip()
Python3
stocks = ['reliance', 'infosys', 'tcs'] prices = [2175, 1127, 2750] new_dict = {stocks: prices for stocks, prices in zip(stocks, prices)} print(new_dict)
Producción:
{'reliance': 2175, 'infosys': 1127, 'tcs': 2750}
¿Cómo descomprimir?
Descomprimir significa convertir los valores comprimidos de nuevo al yo individual tal como estaban. Esto se hace con la ayuda del operador » * «.
Python3
# Python code to demonstrate the working of # unzip # initializing lists name = ["Manjeet", "Nikhil", "Shambhavi", "Astha"] roll_no = [4, 1, 3, 2] marks = [40, 50, 60, 70] # using zip() to map values mapped = zip(name, roll_no, marks) # converting values to print as list mapped = list(mapped) # printing resultant values print("The zipped result is : ", end="") print(mapped) print("\n") # unzipping values namz, roll_noz, marksz = zip(*mapped) print("The unzipped result: \n", end="") # printing initial lists print("The name list is : ", end="") print(namz) print("The roll_no list is : ", end="") print(roll_noz) print("The marks list is : ", end="") print(marksz)
Producción:
The zipped result is : [('Manjeet', 4, 40), ('Nikhil', 1, 50), ('Shambhavi', 3, 60), ('Astha', 2, 70)] The unzipped result: The name list is : ('Manjeet', 'Nikhil', 'Shambhavi', 'Astha') The roll_no list is : (4, 1, 3, 2) The marks list is : (40, 50, 60, 70)
Aplicaciones prácticas
Hay muchas aplicaciones posibles de las que se puede decir que se ejecutan usando zip, ya sea una base de datos de estudiantes o un cuadro de mando o cualquier otra utilidad que requiera el mapeo de grupos. A continuación se muestra un pequeño ejemplo de cuadro de mando.
Python3
# Python code to demonstrate the application of # zip() # initializing list of players. players = ["Sachin", "Sehwag", "Gambhir", "Dravid", "Raina"] # initializing their scores scores = [100, 15, 17, 28, 43] # printing players and scores. for pl, sc in zip(players, scores): print("Player : %s Score : %d" % (pl, sc))
Producción:
Player : Sachin Score : 100 Player : Sehwag Score : 15 Player : Gambhir Score : 17 Player : Dravid Score : 28 Player : Raina Score : 43
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA