Python: suma de filas consecutivas en Matrix

Este artículo en particular se enfoca en un problema que tiene utilidad tanto en la programación competitiva como en la programación diaria. A veces, necesitamos obtener la suma entre los índices similares en comparación con la siguiente lista. Se devuelve la suma entre los elementos similares en ese índice. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso sum() + abs() + zip() de la comprensión de listas +
Este problema en particular también se puede resolver mediante la combinación de las 4 operaciones anteriores. Aquí, la función zip hace la doble tarea de emparejar la lista y también emparejar los índices similares para la suma, que se calculará mediante la función abs y luego la suma se encuentra usando la función suma, todo delimitado por la comprensión de la lista.

# Python3 code to demonstrate
# Consecutive Row summation in Matrix
# using sum() + abs() + zip() + list comprehension
  
# initializing list 
test_list = [[3, 4, 5], [4, 6, 8], [1, 9, 2], [3, 7, 10]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# using sum() + abs() + zip() + list comprehension
# Consecutive Row summation in Matrix
res = [sum(abs(i + j) for i, j in zip(*ele)) for ele in zip(test_list, test_list[1:])]
  
# print result
print("The row summation sublist : " + str(res))
Producción :

The original list : [[3, 4, 5], [4, 6, 8], [1, 9, 2], [3, 7, 10]]
The row summation sublist : [30, 30, 32]

Método #2: Usar sum() + map() + abs + zip()
Esta tarea también se puede lograr usando la combinación de las funciones anteriores, la adición es la función map que realiza la tarea de vincular la operación abs a toda la lista.

# Python3 code to demonstrate
# Consecutive Row summation in Matrix
# using sum() + map() + abs + zip()
  
# initializing list 
test_list = [[3, 4, 5], [4, 6, 8], [1, 9, 2], [3, 7, 10]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# using sum() + map() + abs + zip()
# Consecutive Row summation in Matrix
res = [sum(map(abs, (i + j for i, j in zip(x, y)))) for x, y in zip(test_list, test_list[1:])]
  
# print result
print("The row summation sublist : " + str(res))
Producción :

The original list : [[3, 4, 5], [4, 6, 8], [1, 9, 2], [3, 7, 10]]
The row summation sublist : [30, 30, 32]

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 *