Python - Ordenar matrices por suma

 
Vista:
Imágen de perfil de Enrique
Val: 35
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Ordenar matrices por suma

Publicado por Enrique (13 intervenciones) el 08/04/2021 18:01:34
Hola gente, tengo una duda con mi programa. Tengo una lista con varias matrices y lo que hace mi programa es que calcula la suma de los números de cada matriz y la agrega al final de cada matriz. Quiero saber cómo puedo ordenar mi lista de matrices de menor a mayor en base a sus sumas.

1
2
3
4
5
6
7
8
9
10
11
12
13
mats=[[[4, -6], [8, -8]], [[3, 11], [-14, -9]], [[2, 1], [10, -11]], [[7, -4], [6, -7]], [[-5, -9], [12, -4]]]
 
for x in range(len(mats)):
	sum=0
	for i in range(len(mats[x])):
		for j in range(len(mats[x])):
			sum=sum+abs(mats[x][i][j])
	mats[x].append(sum)
 
print(mats)
 
#al final, mats queda asi:
mats=[[[4, -6], [8, -8], 26], [[3, 11], [-14, -9], 37], [[2, 1], [10, -11], 24], [[7, -4], [6, -7], 24], [[-5, -9], [12, -4], 30]]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Camilo
Val: 40
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Ordenar matrices por suma

Publicado por Camilo (13 intervenciones) el 08/04/2021 18:31:39
Hola enrique

Hay varios métodos de ordenamiento, pero python ofrece la función sorted, y se selecciona como se desea ordenar.

1
2
3
mats=[[[4, -6], [8, -8], 26], [[3, 11], [-14, -9], 37], [[2, 1], [10, -11], 24], [[7, -4], [6, -7], 24], [[-5, -9], [12, -4], 30]]
 
ordenado = sorted(mats, key=lambda x: x[2])
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Enrique
Val: 35
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Ordenar matrices por suma

Publicado por Enrique (13 intervenciones) el 08/04/2021 19:14:16
Lo probé y me marca error "IndexError: list index out of range"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Camilo
Val: 40
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Ordenar matrices por suma

Publicado por Camilo (13 intervenciones) el 08/04/2021 19:23:12
Ese error me sale si no tengo calculada las sumas, también puede deberse a una versión anterior de Python.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar