El problema de obtener el producto de una lista es bastante genérico y es posible que algún día enfrentemos el problema de obtener el producto de elementos alternativos y obtener la lista de 2 elementos que contienen el producto de elementos alternativos. Analicemos ciertas formas en que esto se puede realizar.
Método n.º 1: Uso de la comprensión de listas + división de listas + bucle
La división de listas combinada con la comprensión de listas se puede usar para realizar esta tarea en particular. Podemos tener comprensión de lista para ejecutar la lógica y el corte de lista puede cortar el carácter alternativo, producto de la función de producción externa.
# Python3 code to demonstrate # Multiplying Alternate elements in List # using list comprehension + list slicing # getting Product def prod(val) : res = 1 for ele in val: res *= ele return res # initializing list test_list = [2, 1, 5, 6, 8, 10] # printing original list print("The original list : " + str(test_list)) # using list comprehension + list slicing # Multiplying Alternate elements in List res = [prod(test_list[i : : 2]) for i in range(len(test_list) // (len(test_list)//2))] # print result print("The alternate elements product list : " + str(res))
The original list : [2, 1, 5, 6, 8, 10] The alternate elements product list : [80, 60]
Método n.º 2: Uso del ciclo
Este es el método bruto para realizar esta tarea en particular en la que tenemos el producto de elementos alternativos en diferentes índices de elementos y luego devolvemos la lista de salida.
# Python3 code to demonstrate # Multiplying Alternate elements in List # using loop # initializing list test_list = [2, 1, 5, 6, 8, 10] # printing original list print("The original list : " + str(test_list)) # using loop # Multiplying Alternate elements in List res = [1, 1] for i in range(0, len(test_list)): if(i % 2): res[1] *= test_list[i] else : res[0] *= test_list[i] # print result print("The alternate elements product list : " + str(res))
The original list : [2, 1, 5, 6, 8, 10] The alternate elements product list : [80, 60]
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