Une manière plus rapide de faire la somme d'une liste de nombres qu'avec une boucle for?
Est-il un moyen de résumer une liste de numéros, plus rapidement qu'avec une boucle for, peut-être dans la bibliothèque Python? Ou est-ce quelque chose de vraiment seulement le multi-threading /vecteur de traitement peut faire efficacement?
Edit: Juste pour préciser, il pourrait être une liste de tous les numéros, des ménagères, juste à l'entrée de l'utilisateur.
source d'informationauteur not-too-smatr
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser sum() pour calculer la somme des valeurs d'un tableau.
Encore une autre façon de résumer une liste avec les temps de boucle:
Si chaque terme de la liste il suffit de s'incrémente de 1, ou si vous pouvez trouver un modèle dans la série, vous pouvez trouver une formule de sommation de n termes. Par exemple, la somme de la série {1,2,3,...,n} = n(n+1)/2
Lire plus ici
Bien, je ne sais pas si c'est plus rapide, mais vous pouvez essayer un peu de calcul pour en faire une seule opération. (N*(N+1))/2 vous donne la somme de tous les nombres de 1 à N, et il existe d'autres formules pour la résolution de problèmes plus complexes sommes.
Pour une liste générale, vous avez pour au moins aller sur tous les membres au moins une fois pour obtenir la somme, ce qui est exactement ce qu'est une boucle for ne. À l'aide de la bibliothèque d'Api (comme somme) est plus pratique, mais je doute qu'il serait effectivement plus rapide.