Python | Par de suma de elementos de la lista

A veces, al trabajar con la lista de Python, uno puede tener un problema en el que necesita realizar la suma de la lista en forma de par. Esto es útil como una solución de subproblema de un problema mayor en el desarrollo web y la programación diaria. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: Uso del bucle
Este es el método de fuerza bruta para realizar esta tarea en particular. En esto, solo iteramos la lista hasta el último elemento de manera omitida para obtener todas las sumas de pares en otra lista de manera iterativa.

# Python3 code to demonstrate working of
# Pair summation of list
# Using loop
  
# initializing list
test_list = [4, 5, 8, 9, 10, 17]
  
# printing list
print("The original list : " + str(test_list))
  
# Pair summation of list
# Using loop
res = []
for ele in range(0, len(test_list), 2):
    res.append(test_list[ele] + test_list[ele + 1])
  
# Printing result
print("Pair summation of list : " + str(res))
Producción :

 
The original list : [4, 5, 8, 9, 10, 17]
Pair summation of list : [9, 17, 27]

Método n.º 2: Uso zip()de la comprensión de listas +
Esta tarea también se puede realizar mediante la combinación de las funcionalidades anteriores. En esto, solo iteramos la lista y zip() realiza la tarea de combinar pares. Funciona solo en Python2.

# Python code to demonstrate working of
# Pair summation of list
# zip() + list comprehension
  
# initializing list
test_list = [4, 5, 8, 9, 10, 17]
  
# printing list
print("The original list : " + str(test_list))
  
# Pair summation of list
# zip() + list comprehension
res = [i + j for i, j in zip(test_list, test_list[1:])[::2]]
  
# Printing result
print("Pair summation of list : " + str(res))
Producción :

 
The original list : [4, 5, 8, 9, 10, 17]
Pair summation of list : [9, 17, 27]

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 *