Python: ordenación de fila inversa en listas de listas

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos realizar la clasificación de las filas de la array en orden descendente. Este tipo de problema tiene su aplicación en el dominio del desarrollo web y la ciencia de datos. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: usar loop + sort() + reverse Este problema se puede resolver usando un loop para recorrer cada fila. La ordenación y la inversión se pueden utilizar para realizar la ordenación inversa de las filas. 

Python3

# Python3 code to demonstrate
# Reverse Row sort in Lists of List
# using loop
 
# initializing list
test_list = [[4, 1, 6], [7, 8], [4, 10, 8]]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Reverse Row sort in Lists of List
# using loop
for ele in test_list:
    ele.sort(reverse=True)
 
# printing result
print("The reverse sorted Matrix is : " + str(test_list))
Producción

The original list is : [[4, 1, 6], [7, 8], [4, 10, 8]]
The reverse sorted Matrix is : [[6, 4, 1], [8, 7], [10, 8, 4]]

Método n.º 2: usar la comprensión de listas + sorted() Esta es otra forma más en la que se puede realizar esta tarea. En esto, actuamos de manera similar, simplemente empaquetamos la lógica en una línea utilizando la comprensión de listas para proporcionar una alternativa compacta. 

Python3

# Python3 code to demonstrate
# Reverse Row sort in Lists of List
# using list comprehension + sorted()
 
# initializing list
test_list = [[4, 1, 6], [7, 8], [4, 10, 8]]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Reverse Row sort in Lists of List
# using list comprehension + sorted()
res = [sorted(sub, reverse=True) for sub in test_list]
 
# printing result
print("The reverse sorted Matrix is : " + str(res))
Producción

The original list is : [[4, 1, 6], [7, 8], [4, 10, 8]]
The reverse sorted Matrix is : [[6, 4, 1], [8, 7], [10, 8, 4]]

Método #3: Usando map() + sorted Esta es una forma de resolver este problema. En esto, actualizamos la lista existente con la ayuda de la función de mapa que ordena la lista interna en orden inverso usando la función ordenada.

Python3

# Python3 code to demonstrate
# Reverse Row sort in Lists of List
# using map + sorted()
 
# initializing list
test_list = [[4, 1, 6], [7, 8], [4, 10, 8]]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Reverse Row sort in Lists of List
# using map + sorted()
res = list(map(lambda x: sorted(x, reverse=True), test_list))
 
# printing result
print("The reverse sorted Matrix is : " + str(res))
Producción

The original list is : [[4, 1, 6], [7, 8], [4, 10, 8]]
The reverse sorted Matrix is : [[6, 4, 1], [8, 7], [10, 8, 4]]

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 *