Python – Ordenar array por longitud máxima de string

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *