Python: pruebe si todos los elementos son únicos en columnas en una array

Dada una Array, pruebe si todas las columnas contienen elementos únicos.

Entrada : test_list = [[3, 4, 5], [1, 2, 4], [4, 1, 10]] 
Salida : Verdadero 
Explicación : 3, 1, 4; 4, 2, 1; 5, 4, 10; Todos los elementos son únicos en las columnas.

Entrada : test_list = [[3, 4, 5], [3, 2, 4], [4, 1, 10]] 
Salida : Falso 
Explicación : 3, 3, 4; 3 repetido dos veces. 
 

Método #1: Usar loop + set() + len()

En esto, iteramos para cada columna y probamos elementos únicos usando el tamaño establecido usando len(), si se encuentra que alguna columna tiene un tamaño que no es igual a la lista real, entonces el resultado se marca.

Python3

# Python3 code to demonstrate working of 
# Test if all elements Unique in Matrix Columns
# Using loop + set() + len()
  
# initializing list
test_list = [[3, 4, 5], [1, 2, 4], [4, 1, 10]]
  
# printing original lists
print("The original list is : " + str(test_list))
  
res = True 
for idx in range(len(test_list[0])):
      
    # getting column 
    col = [ele[idx] for ele in test_list]
      
    # checking for all Unique elements
    if len(list(set(col))) != len(col):
        res = False 
        break
  
# printing result 
print("Are all columns Unique : " + str(res))

Producción:

The original list is : [[3, 4, 5], [1, 2, 4], [4, 1, 10]]
Are all columns Unique : True

Método #2: Usando all() + comprensión de lista

Esto se puede resolver en una sola línea usando all() que verifica todas las columnas, hechas usando la comprensión de listas, si todas las columnas devuelven True, all() devuelve true.

Python3

# Python3 code to demonstrate working of 
# Test if all elements Unique in Matrix Columns
# Using loop + set() + len()
  
# initializing list
test_list = [[3, 4, 5], [1, 2, 4], [4, 1, 10]]
  
# printing original lists
print("The original list is : " + str(test_list))
  
res = True 
for idx in range(len(test_list[0])):
      
    # getting column 
    col = [ele[idx] for ele in test_list]
      
    # checking for all Unique elements
    if len(list(set(col))) != len(col):
        res = False 
        break
  
# printing result 
print("Are all columns Unique : " + str(res))

Producción:

The original list is : [[3, 4, 5], [1, 2, 4], [4, 1, 10]]
Are all columns Unique : True

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 *