Dada una array, para realizar la clasificación en las filas en función de la frecuencia de K.
Entrada : lista_prueba = [[10, 2, 3, 2, 3], [5, 5, 4, 7, 7, 4], [1, 2], [1, 1, 2, 2, 2]], K = 2
Salida : [[5, 5, 4, 7, 7, 4], [1, 2], [10, 2, 3, 2, 3], [1, 1, 2, 2, 2]]
Explicación : 0 < 1 < 2 < 3, cuenta de K en el orden de Matrix.
Entrada : test_list = [[5, 5, 4, 7, 7, 4], [1, 2], [1, 1, 2, 2, 2]], K = 2
Salida : [[5, 5, 4 , 7, 7, 4], [1, 2], [1, 1, 2, 2, 2]]
Explicación : 0 < 1 < 3, recuento de K en el orden de Matrix.
Método #1: Usar sort() + count()
En esto, realizamos la tarea de clasificación en el lugar usando sort() , la frecuencia de captura se realiza usando count() .
Python3
# Python3 code to demonstrate working of # Sort rows by Frequency of K # Using sort() + count() def get_Kfreq(row): # return Frequency return row.count(K) # initializing list test_list = [[10, 2, 3, 2, 3], [5, 5, 4, 7, 7, 4], [1, 2], [1, 1, 2, 2, 2]] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 2 # performing inplace sort test_list.sort(key=get_Kfreq) # printing result print("Sorted List : " + str(test_list))
Producción:
La lista original es: [[10, 2, 3, 2, 3], [5, 5, 4, 7, 7, 4], [1, 2], [1, 1, 2, 2, 2]]
Lista ordenada: [[5, 5, 4, 7, 7, 4], [1, 2], [10, 2, 3, 2, 3], [1, 1, 2, 2, 2]]
Método #2: Usar sorted() + lambda + count()
En esto, realizamos la tarea de ordenar usando sorted() y lambda , elimina la llamada a función externa y la función lambda utilizada para el cálculo.
Python3
# Python3 code to demonstrate working of # Sort rows by Frequency of K # Using sorted() + lambda + count() # initializing list test_list = [[10, 2, 3, 2, 3], [5, 5, 4, 7, 7, 4], [1, 2], [1, 1, 2, 2, 2]] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 2 # performing inplace sort res = sorted(test_list, key=lambda row: row.count(K)) # printing result print("Sorted List : " + str(res))
Producción:
La lista original es: [[10, 2, 3, 2, 3], [5, 5, 4, 7, 7, 4], [1, 2], [1, 1, 2, 2, 2]]
Lista ordenada: [[5, 5, 4, 7, 7, 4], [1, 2], [10, 2, 3, 2, 3], [1, 1, 2, 2, 2]]
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