Python – Adición por parejas en tuplas

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos encontrar un resultado acumulativo. Esta puede ser de cualquier tipo, producto o sumatoria. Aquí vamos a discutir sobre la adición de elementos adyacentes. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Usar zip()+ expresión generadora +tuple()

La combinación de las funcionalidades anteriores se puede utilizar para realizar esta tarea. En esto, usamos la expresión del generador para proporcionar una lógica de adición y el emparejamiento simultáneo de elementos se realiza mediante zip(). El resultado se convierte en forma de tupla usando tuple().

# Python3 code to demonstrate working of
# Pairwise Addition in Tuples
# using zip() + generator expression + tuple
  
# initialize tuple
test_tup = (1, 5, 7, 8, 10)
  
# printing original tuple
print("The original tuple : " + str(test_tup))
  
# Pairwise Addition in Tuples
# using zip() + generator expression + tuple
res = tuple(i + j for i, j in zip(test_tup, test_tup[1:]))
  
# printing result
print("Resultant tuple after addition : " + str(res))
Producción :

The original tuple : (1, 5, 7, 8, 10)
Resultant tuple after addition : (6, 12, 15, 18)

Método #2: Usar tuple() + map()+ lambda

La combinación de las funciones anteriores también puede ayudar a realizar esta tarea. En esto, realizamos la lógica de suma y enlace usando la función lambda. El map() se usa para iterar a cada elemento y, al final, el resultado se convierte mediante tuple().

# Python3 code to demonstrate working of
# Pairwise Addition in Tuples
# using tuple() + map() + lambda
  
# initialize tuple
test_tup = (1, 5, 7, 8, 10)
  
# printing original tuple
print("The original tuple : " + str(test_tup))
  
# Pairwise Addition in Tuples
# using tuple() + map() + lambda
res = tuple(map(lambda i, j : i + j, test_tup[1:], test_tup[:-1]))
  
# printing result
print("Resultant tuple after addition : " + str(res))
Producción :

The original tuple : (1, 5, 7, 8, 10)
Resultant tuple after addition : (6, 12, 15, 18)

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 *