cómo recorrer cada elemento en la lista e incrementar en uno

lo mejor

Hola, quiero preguntar cómo recorrer cada elemento e incrementar cada vez en uno. Esto es lo que quiero. Primero quiero sumar 0, 1, 3, 6, 10 y después de esa suma, ¿alguien puede ayudarme? sepa cómo saber si se trata de un bucle a través de cada elemento o de una iteración. Debería verse como estos ejemplos. ¡Lo siento!

l = [0, 1, 3, 6, 10]

l = [1, 3, 6, 10]

l = [3, 6, 10]

l = [6, 10]

ls = [10]

ls = []

Aquí está el problema que quiero resolver: https://www.codewars.com/kata/5ce399e0047a45001c853c2b/train/python

Intenté esto pero no funciona

 def parts_sums(ls):
    length_list = len(ls)
    for i in range(0,length_list+1):
        return length_list
    
lanza y escudo

Tenga en cuenta que hay una función integrada sum()en Python que hace ese trabajo probablemente mejor que cualquier código que pueda escribir en Python.

sum([0, 1, 3, 6, 10])

Sin embargo, si desea practicar escribir su función de suma iterando a través de una lista y sumando todos los elementos, así es como lo hace.

def my_sum(ls):
    result = 0
    for i in range(len(ls)):
        result += ls[i]
    return result

En primer lugar, debe inicializar una variable para mantener su resultado. La range()función genera todos los valores de 0 a x. El ciclo for asigna todos los valores generados por la función de rango ien orden y ejecuta el bloque sangrado a continuación. La +=asignación incrementa la variable del lado izquierdo por el valor de la expresión del lado derecho. Por último, devolvemos el resultado.

Y si prefiere usar un ciclo while,

def my_sum(ls):
    result = 0
    i = 0
    while i < len(ls):
        result += ls[i]
        i += 1
    return result

Siempre es bueno consultar la documentación de Python cuando no está seguro de cómo usar su función integrada.

Si desea invertir la suma acumulada de todos los elementos, puede consultar la accumulatefunción en itertools.

from itertools import accumulate
def parts_sums(ls):
    return list(accumulate(ls[::-1]))[::-1] + [0]

O si desea implementar con un bucle,

def parts_sums(ls):
    result = []
    part_sum = 0
    for item in ls[::-1]:
        result.append(part_sum)
        part_sum += item
    result.append(part_sum)
    
    return result[::-1]

O si quieres hacerlo sin invertir la lista (di si quieres dar los resultados)

def parts_sums(ls):
    result = []
    part_sum = sum(ls)
    for item in ls:
        result.append(part_sum)
        part_sum -= item
    result.append(part_sum)
    
    return result

Tenga en cuenta que el algoritmo sigue siendo O (n), no es que la complejidad del tiempo importe en este caso.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

cómo recorrer cada elemento en la lista e incrementar en uno

¿Cómo puedo recorrer cada elemento de la lista en cada columna?

¿Cómo puedo recorrer una matriz jquery y luego generar cada elemento (comenzando en el índice 0) uno a la vez?

¿Cómo puedo obtener el elemento de la lista en JSTL (no para cada uno)?

¿Cómo recorrer la lista JSON e insertarla en un elemento HTML?

¿Cómo recorrer cada elemento dentro de una lista de lista en Python?

Cómo encontrar la suma de cada elemento en una lista con cada uno de los otros elementos

¿Cómo recorrer matrices e imprimir cada índice uno al lado del otro en Python?

cómo recorrer cada lista y agregar un elemento almacenado local en ella

¿Cómo recorrer los valores publicados de MultiSelectList e insertar cada uno en una nueva fila de la base de datos en ASP.Net MVC 5?

¿Cómo recorrer la lista de objetos y comparar el valor en cada objeto en Java?

¿Cómo recorrer un grupo de divs uno por uno en cada clic en jQuery?

¿Cómo recorrer una lista y agregar un elemento a cada tupla en una lista de tuplas usando 'zip ()'?

Cómo eliminar uno de cada elemento en una lista de Python

clonar un LLL e incrementar cada elemento en java

¿Cómo puedo agregar cada elemento en la primera lista con la lista correspondiente en Scala?

¿Recorrer las propiedades y establecer el valor de cada propiedad como un elemento en una lista, imprimir la lista y luego establecer el valor nuevamente? C#

Verificación de la lista de jQuery. cada uno solo funciona en el último elemento

python para cada uno en la lista: el elemento no está definido

Verificación de la lista de jQuery. cada uno solo funciona en el último elemento

¿Cómo incrementar la cantidad cada hora en PHP?

¿Cómo recorrer todos los archivos CSV, abrir cada uno y realizar algunas operaciones en cada uno?

Cómo obtener elementos de la lista sin para cada uno en el controlador MVC

¿Cómo recorrer dos "div" con datos diferentes en cada uno?

Cómo recorrer una lista de diccionarios e imprimir cada par de clave y valor en Ansible

Cómo dividir cada elemento en la lista por el primer elemento

Cómo insertar un elemento después de cada otro elemento en la lista de Python

¿Cómo ordenar una lista usando dígitos en cada elemento de la lista? Pitón

¿Cómo asignar diferentes colores a cada elemento de la lista en una lista desordenada HTML?