El problema de obtener la suma de una lista es bastante genérico y es posible que algún día enfrentemos el problema de obtener la suma de elementos alternativos y obtener la lista de 2 elementos que contienen la suma de elementos alternativos. Analicemos ciertas formas en que esto se puede realizar.
Método n.º 1: usar la comprensión de listas + el corte de listas +sum()
el corte de listas combinado 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, la suma por la función de suma
# Python3 code to demonstrate # alternate elements summation # using list comprehension + list slicing # 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 # alternate elements summation res = [sum(test_list[i : : 2]) for i in range(len(test_list)//(len(test_list)//2))] # print result print("The alternate elements summation list : " + str(res))
The original list : [2, 1, 5, 6, 8, 10] The alternate elements summation list : [15, 17]
Método n.º 2: Uso de bucle
Este es el método bruto para realizar esta tarea en particular en la que tenemos la suma de elementos alternativos en diferentes índices de elementos y luego devolvemos la lista de salida.
# Python3 code to demonstrate # alternate elements summation # using loop # initializing list test_list = [2, 1, 5, 6, 8, 10] # printing original list print("The original list : " + str(test_list)) # using loop # alternate elements summation res = [0, 0] 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 summation list : " + str(res))
The original list : [2, 1, 5, 6, 8, 10] The alternate elements summation list : [15, 17]
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