¿Cómo usar la función Zip de Python?
La función zip
de Python toma la información de varios arreglos y los agrega en una trupla. Supongamos que tenemos dos listas una llena de datos numéricos y otra llena con las cadenas de texto de esos datos numéricos. La orden es asociar esa cadena de texto con ese dato numérico.
lista_numeros = [1, 2, 3, 4, 5]
lista_texto = ['Uno', 'Dos', 'Tres', 'Cuatro', 'Cinco']
Para asociarlos usamos la función zip
como se muestra en las líneas siguientes :
resultado = zip(lista_numeros, lista_texto)
Pasadas las dos listas será necesario convertirlo a un conjunto con ayuda de set
utilizado para trabajar con un conjunto de elementos el cual elimina duplicados de las listas como utilizado para saber si un elemento pertenece o no a una colección. Mediante set
podemos realizar operaciones matemáticas en relación a la teoría de conjuntos usando la unión, intersección, diferencia, etc.
Un ejemplo sencillo del uso de set
es :
lista=[9,5,9,3,2,1,1,7,2]
#uso de set
diccionario=set(lista)
print(diccionario)
El resultado es :
{1, 2, 3, 5, 7, 9}
Podemos observar que elimina de la lista los elementos repetidos y la ordena. Ocupando set
para el ejemplo del uso de zip
para obtener la asociación mediante :
resultado = zip(lista_numeros, lista_texto)
resultado_set=set(resultado)
print(resultado_set)
Finalmente se obtiene lo siguiente :
{(5, 'Cinco'), (2, 'Dos'), (1, 'Uno'), (4, 'Cuatro'), (3, 'Tres')}
Existe otra clase para representar conjuntos no solamente con set
llamada frozeset
y como su nombre lo indica congela los conjuntos y no será posible modificarlos, por lo que set
es mutable y frozeset
no es mutable.
Finalmente el código completo queda de la forma siguiente :
lista_numeros = [1, 2, 3, 4, 5]
lista_texto = ['Uno', 'Dos', 'Tres', 'Cuatro', 'Cinco']
resultado = zip(lista_numeros, lista_texto)
resultado_set=set(resultado)
print(resultado_set)
Resultado
Finalmente para se ha agreado la impresión de pantalla de esta función para una mejor comprensión. Nota : El orden del resultado es aleatorio.