En este artículo tenemos una Array dada, prueba si todas las filas tienen elementos similares.
Entrada : test_list = [[6, 4, 2, 7, 3], [7, 3, 6, 4, 2], [2, 4, 7, 3, 6]]
Salida : Verdadero
Explicación : Todas las listas tienen 2 , 3, 4, 6, 7.
Entrada : test_list = [[6, 4, 2, 7, 3], [7, 5, 6, 4, 2], [2, 4, 7, 3, 6]]
Salida : Falso
Explicación : la segunda lista tiene 5 en lugar de 3.
Método n. ° 1: usar Counter() + comprensión de lista
En esto, calculamos el diccionario de frecuencia de los elementos usando Counter(), y comparamos con cada fila en Matrix, si verifican, se devuelve True.
Python3
# Python3 code to demonstrate working of # Test if Rows have Similar frequency # Using Counter() + list comprehension from collections import Counter # initializing list test_list = [[6, 4, 2, 7, 3], [7, 3, 6, 4, 2], [2, 4, 7, 3, 6]] # printing original list print("The original list is : " + str(test_list)) # checking if all rows are similar res = all(dict(Counter(row)) == dict(Counter(test_list[0])) for row in test_list) # printing result print("Are all rows similar : " + str(res))
La lista original es: [[6, 4, 2, 7, 3], [7, 3, 6, 4, 2], [2, 4, 7, 3, 6]]
Son todas las filas similares: Verdadero
Método n.º 2: usar la comprensión de listas + sorted() + all()
En esto, buscamos elementos similares usando sorted(), ordenando todos los elementos en formato ordenado.
Python3
# Python3 code to demonstrate working of # Test if Rows have Similar frequency # Using list comprehension + sorted() + all() # initializing list test_list = [[6, 4, 2, 7, 3], [7, 3, 6, 4, 2], [2, 4, 7, 3, 6]] # printing original list print("The original list is : " + str(test_list)) # checking if all rows are similar # ordering each row to test res = all(list(sorted(row)) == list(sorted(test_list[0])) for row in test_list) # printing result print("Are all rows similar : " + str(res))
La lista original es: [[6, 4, 2, 7, 3], [7, 3, 6, 4, 2], [2, 4, 7, 3, 6]]
Son todas las filas similares: Verdadero
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