Python | Multiplicar elementos adyacentes

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 multiplicación de elementos adyacentes. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar zip()+ expresión generadora +tuple()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, usamos la expresión del generador para proporcionar lógica de multiplicació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
# Adjacent element multiplication
# using zip() + generator expression + tuple
  
# initialize tuple
test_tup = (1, 5, 7, 8, 10)
  
# printing original tuple
print("The original tuple : " + str(test_tup))
  
# Adjacent element multiplication
# 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 multiplication : " + str(res))
Producción :

The original tuple : (1, 5, 7, 8, 10)
Resultant tuple after multiplication : (5, 35, 56, 80)

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 multiplicación y enlace usando la función lambda. map()se usa para iterar a cada elemento y al final el resultado se convierte mediante tuple().

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

The original tuple : (1, 5, 7, 8, 10)
Resultant tuple after multiplication : (5, 35, 56, 80)

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 *