Python – Convertir Matrix a Conjuntos de Conjuntos

En este artículo, la tarea es escribir un programa en Python para convertir Matrix en conjuntos de conjuntos.

Ejemplos:

Entrada: test_list = [[5, 6, 3], [1, 7, 9], [8, 2, 0]]

Salida: {conjunto congelado ({8, 0, 2}), conjunto congelado ({1, 9, 7}), conjunto congelado ({3, 5, 6})}

Explicación : convertido a conjuntos de conjuntos congelados para permanecer inmutable y hashable.

Entrada: test_list = [[5, 6, 3], [1, 7, 9]]

Salida: {conjunto congelado ({1, 9, 7}), conjunto congelado ({3, 5, 6})}

Explicación: convertido a conjuntos de conjuntos congelados para permanecer inmutable y hashable.

Método #1: Usar set() + frozenset() + expresión generadora

En esto, realizamos una iteración hasta Matrix en la expresión del generador para obtener conjuntos internos, y el contenedor externo se convierte en conjunto usando set(). El contenedor interno debe ser hashable, por lo tanto, debe ser frozenset() para la creación.

Python3

# Python3 code to demonstrate working of
# Convert Matrix to Sets of Set
# Using set() + frozenset() + generator expression
 
# initializing list
test_list = [[5, 6, 3], [1, 7, 9], [8, 2, 0]]
 
# printing original list
print("The original list is : " + str(test_list))
 
# frozenset() to get inner elements hashable required for set()
res = set(frozenset(sub) for sub in test_list)
 
# printing result
print("Converted set Matrix : " + str(res))

Producción:

La lista original es: [[5, 6, 3], [1, 7, 9], [8, 2, 0]]

Array de conjunto convertido: {conjunto congelado ({8, 0, 2}), conjunto congelado ({1, 9, 7}), conjunto congelado ({3, 5, 6})}

Método #2: Usando map() + frozenset() + set()

En esto, map() se usa para extender la lógica de convertir contenedores internos a frozenset().

Python3

# Python3 code to demonstrate working of
# Convert Matrix to Sets of Set
# Using map() + frozenset() + set()
 
# initializing list
test_list = [[5, 6, 3], [1, 7, 9], [8, 2, 0]]
 
# printing original list
print("The original list is : " + str(test_list))
 
# map() to extend logic to inner elements
res = set(map(frozenset, test_list))
 
# printing result
print("Converted set Matrix : " + str(res))

Producción:

La lista original es: [[5, 6, 3], [1, 7, 9], [8, 2, 0]]

Array de conjunto convertido: {conjunto congelado ({8, 0, 2}), conjunto congelado ({1, 9, 7}), conjunto congelado ({3, 5, 6})}

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *