Ordenar matriz 2D en Python
-
Ordenar matriz 2D por número de columna usando la función
sort()
en Python -
Ordene la matriz 2D por número de columna usando la función
sorted()
en Python
Presentaremos diferentes métodos para ordenar arreglos multidimensionales en Python.
Hay funciones integradas como sort()
y sorted()
para la clasificación de matrices; estas funciones también nos permiten tomar una clave específica que podemos usar para definir qué columna ordenar si queremos.
El método sort()
modifica la lista en el lugar, y una función integrada sorted()
crea una nueva lista ordenada a partir de un iterable. También veremos los diferentes métodos para definir iterable para las funciones sort()
y sorted()
.
Ordenar matriz 2D por número de columna usando la función sort()
en Python
Para ordenar la matriz por número de columna, debemos definir la key
en la función sort()
como,
lst = [["John", 5], ["Jim", 9], ["Jason", 0]]
lst.sort(key=lambda x: x[1])
print(lst)
Producción :
[['Jason', 0], ['John', 5], ['Jim', 9]]
Por motivos de clasificación, el parámetro key
debe establecerse en el valor de una función que acepta un único argumento y devuelve una key
que puede utilizarse en el proceso de clasificación. Es posible hacer esta estrategia rápidamente porque la función clave se llama solo una vez para cada registro de entrada.
Un patrón que se usa con frecuencia es ordenar objetos complejos usando uno o más de los índices del objeto como clave.
lst = [
("john", "C", 15),
("jane", "A", 12),
("dave", "D", 10),
]
lst.sort(key=lambda lst: lst[2])
print(lst)
Producción :
[('dave', 'D', 10), ('jane', 'A', 12), ('john', 'C', 15)]
En el código anterior en key=lambda lst:lst[2]
, lst[2]
define qué columna debe usarse para la clasificación. En nuestro caso, lst
está ordenado por la tercera columna.
Ordene la matriz 2D por número de columna usando la función sorted()
en Python
Para ordenar la matriz por número de columna, debemos definir la key
en la función sorted()
como,
li = [["John", 5], ["Jim", 9], ["Jason", 0]]
sorted_li = sorted(li, key=lambda x: x[1])
print(sorted_li)
Producción :
[['Jason', 0], ['John', 5], ['Jim', 9]]
Tenga en cuenta que la función sorted()
devuelve una nueva lista en el código anterior, mientras que la función sort()
reemplaza la lista original.
La clave también se puede definir alternativamente usando itemgetter
de la biblioteca operador
.
from operator import itemgetter
lst = [
("john", "C", 15),
("jane", "A", 12),
("dave", "D", 10),
]
sorted_lst = sorted(lst, key=itemgetter(1))
print(sorted_lst)
Producción :
[('jane', 'A', 12), ('john', 'C', 15), ('dave', 'D', 10)]
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInArtículo relacionado - Python Array
- Cómo iniciar un array 2-D en Python
- Cómo contar las ocurrencias de un elemento en un array unidimensional en Python
- Matriz de reducción de resolución de Python
- Arreglar el error TypeError: iteration over a 0-d array en Python NumPy
- Desplazar o rotar un array en Python
- Escribir un array en un archivo de texto en Python