Dada una array, realice la ordenación de filas en función de la longitud máxima de la string en ella.
Entrada : test_list = [[‘gfg’, ‘best’], [‘geeksforgeeks’], [‘cs’, ‘rocks’], [‘gfg’, ‘cs’]] Salida: [[‘gfg’
, ‘ cs’], [‘gfg’, ‘best’], [‘cs’, ‘rocks’], [‘geeksforgeeks’]] Explicación
: 3 < 4 < 5 < 13, longitudes máximas de strings, ordenadas cada vez más.Entrada : test_list = [[‘gfg’, ‘best’], [‘cs’, ‘rocks’], [‘gfg’, ‘cs’]] Salida: [[‘gfg’, ‘cs’],
[ ‘ gfg’, ‘best’], [‘cs’, ‘rocks’]]
Explicación : 3 < 4 < 5 longitudes máximas de strings, ordenadas cada vez más.
Método #1: Usar sort() + len() + max()
En esto, la clasificación en el lugar se realiza utilizando sort(), len() y max() calculan la longitud máxima de la string en cada fila para realizar la clasificación.
Python3
# Python3 code to demonstrate working of # Sort Matrix by Maximum String Length # Using sort() + len() + max() def max_len(row): # getting Maximum length of string return max([len(ele) for ele in row]) # initializing list test_list = [['gfg', 'best'], ['geeksforgeeks'], ['cs', 'rocks'], ['gfg', 'cs']] # printing original list print("The original list is : " + str(test_list)) # performing sort() test_list.sort(key=max_len) # printing result print("Sorted Matrix : " + str(test_list))
Producción:
La lista original es: [[‘gfg’, ‘best’], [‘geeksforgeeks’], [‘cs’, ‘rocks’], [‘gfg’, ‘cs’]] Array ordenada: [[‘gfg
‘ , ‘cs’], [‘gfg’, ‘mejor’], [‘cs’, ‘rocks’], [‘geeksforgeeks’]]
Método #2: Usar sorted() + lambda + max() + len()
En esto, realizamos la tarea de filtrar al máximo usando la función lambda en lugar de la función externa. La tarea de ordenar se realiza usando sorted().
Python3
# Python3 code to demonstrate working of # Sort Matrix by Maximum String Length # Using sorted() + lambda + max() + len() # initializing list test_list = [['gfg', 'best'], ['geeksforgeeks'], ['cs', 'rocks'], ['gfg', 'cs']] # printing original list print("The original list is : " + str(test_list)) # performing logic using lambda fnc. res = sorted(test_list, key=lambda row: max([len(ele) for ele in row])) # printing result print("Sorted Matrix : " + str(res))
Producción:
La lista original es: [[‘gfg’, ‘best’], [‘geeksforgeeks’], [‘cs’, ‘rocks’], [‘gfg’, ‘cs’]] Array ordenada: [[‘gfg
‘ , ‘cs’], [‘gfg’, ‘mejor’], [‘cs’, ‘rocks’], [‘geeksforgeeks’]]
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