Acceder a un elemento desde su índice es una tarea más fácil en python, solo usar el operador [] en una lista hace el truco. Pero en ciertas situaciones se nos presentan tareas cuando tenemos más de un índice y necesitamos obtener todos los elementos correspondientes a esos índices y luego realizar la multiplicación. Vamos a discutir ciertas formas de lograr esta tarea.
Método n.º 1: Uso de la comprensión de listas + bucle
Esta tarea es fácil de realizar con un bucle y, por lo tanto, la abreviatura es el primer método para comenzar con esta tarea. Iterar sobre la lista de índice para obtener los elementos correspondientes de la lista en una nueva lista es un método bruto para realizar esta tarea. La tarea de producto se realiza mediante bucle.
# Python3 code to demonstrate # Product of Index values # using list comprehension + loop # getting Product def prod(val) : res = 1 for ele in val: res *= ele return res # initializing lists test_list = [9, 4, 5, 8, 10, 14] index_list = [1, 3, 4] # printing original lists print ("Original list : " + str(test_list)) print ("Original index list : " + str(index_list)) # using list comprehension + loop to # Product of Index values res_list = prod([test_list[i] for i in index_list]) # printing result print ("Resultant list : " + str(res_list))
Original list : [9, 4, 5, 8, 10, 14] Original index list : [1, 3, 4] Resultant list : 320
Método n.º 2: usar el map() + __getitem__
bucle +
Otro método más para lograr esta tarea en particular es mapear una lista con otra y obtener elementos de índices y obtener los elementos coincidentes correspondientes de la lista de búsqueda. Esta es una forma bastante rápida de realizar esta tarea. La tarea de producto se realiza mediante bucle.
# Python3 code to demonstrate # Product of Index values # using map() + __getitem__ + loop # getting Product def prod(val) : res = 1 for ele in val: res *= ele return res # initializing lists test_list = [9, 4, 5, 8, 10, 14] index_list = [1, 3, 4] # printing original lists print ("Original list : " + str(test_list)) print ("Original index list : " + str(index_list)) # using map() + __getitem__ + loop to # Product of Index values res_list = prod(list(map(test_list.__getitem__, index_list))) # printing result print ("Resultant list : " + str(res_list))
Original list : [9, 4, 5, 8, 10, 14] Original index list : [1, 3, 4] Resultant list : 320
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