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))
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))
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