Python | Imprima filas únicas en una array booleana dada usando Set con tuplas

Dada una array binaria, imprima todas las filas únicas de la array dada. El orden de impresión de las filas no importa.

Ejemplos:

Input:
    mat = [[0, 1, 0, 0, 1],
             [1, 0, 1, 1, 0],
             [0, 1, 0, 0, 1],
             [1, 1, 1, 0, 0]]
Output:
          (1, 1, 1, 0, 0)
          (0, 1, 0, 0, 1)
          (1, 0, 1, 1, 0)

Tenemos una solución existente para este problema, consulte el enlace. Podemos resolver este problema en python rápidamente usando Establecer estructura de datos . El enfoque es muy simple.

  1. Se nos proporciona una lista de valores booleanos, colocamos todas las filas (lista) en el conjunto porque el conjunto contiene valores únicos.
  2. Dado que la lista es un tipo que no se puede modificar para el conjunto porque es mutable, es por eso que primero convertimos cada fila (lista) en tupla y luego colocamos todas las tuplas en el conjunto.
  3. El conjunto resultante contendrá solo tuplas de valor único (fila).
# Python program to Print unique rows in a 
# given boolean matrix using Set with tuples
  
# Function to print unique rows in a given boolean matrix
  
def uniqueRows(input):
  
    # convert each row (list) into tuple
    # we are mapping tuple function on each row of 
    # input matrix
    input = map(tuple, input)
  
    # put all rows in set
    result = set(input)
  
    # print all unique rows
    for row in list(result):
        print (row)
  
# Driver program
if __name__ == "__main__":
    input = [[0, 1, 0, 0, 1],
             [1, 0, 1, 1, 0],
             [0, 1, 0, 0, 1],
             [1, 1, 1, 0, 0]]
    uniqueRows(input)

Producción:

(1, 1, 1, 0, 0)
(0, 1, 0, 0, 1)
(1, 0, 1, 1, 0)

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *