Python | Orden ordenado relativo en Matrix

A veces, mientras trabajamos con Python Matrix, podemos tener datos ordenados al azar y podemos tener un requisito en el que necesitamos obtener la posición del elemento en el orden ordenado de Matrix. Analicemos una determinada forma en que se puede realizar esta tarea.

Método: Uso de la comprensión de listas +enumerate() + sort() + lambda
La solución al problema se puede lograr mediante la combinación de las funciones anteriores. En estos, primero debemos organizar el elemento para la creación de tuplas de valor de índice utilizando enumerate()y la comprensión de la lista. Luego, empleamos la función de clasificación para realizar una clasificación personalizada utilizando la función lambda.

Código:

# Python3 code to demonstrate working of
# Relative sorted order in Matrix
# using list comprehension + enumerate() + sort() + lambda
  
# initialize list
test_list = [[1, 3, 1], [4, 6], [7, 8, 10]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Relative sorted order in Matrix
# using list comprehension + enumerate() + sort() + lambda
res = [(i, j) for i, x in enumerate(test_list) for
       j, _ in enumerate(x)]
res.sort(key = lambda f: test_list[f[0]][f[1]])
  
# printing result
print("Sorted order of Matrix elements : " + str(res))
Producción :

The original list is : [[1, 3, 1], [4, 6], [7, 8, 10]]
Sorted order of Matrix elements : [(0, 0), (0, 2), (0, 1), (1, 0),
                                   (1, 1), (2, 0), (2, 1), (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

Deja una respuesta

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