Python sum () -List-un manuel illustré simple sur le côté droit du changement (2023)

Évaluez ce message

Le résumé d'une liste de nombres apparaît partout dans le codage.Heureusement, Python offre la fonction intégréeTotal()Fonction pour ajouter tous les éléments dans une liste de python ou une autre liste itérable.(Documents officiels)

La syntaxe estsum (itreierbar, start = 0):

De la rueDescription
reproductibleRésumer tous les éléments dereproductible.Il peut s'agir d'une liste, d'une tupel, beaucoup ou toute autre structure de données qui vous permet de ITOT sur les éléments.
Exemple:Total ([1, 2, 3])Retour1 + 2 + 3 = 6.
Commencer(Facultatif.) La valeur de démarrage standard est 0. Si vous définissez une valeur de démarrage différente, la somme de toutes les valeurs sera dans lereproductibleest ajouté à cette valeur de départ.
Exemple:Total ([1, 2, 3], 9)Retour9 + 1 + 2 + 3 = 15.

Python sum () Liste - un simple guide illustré

Jetez un œil au webinaire Freelancer Python et commencez votre carrière en tant que programmeur!

Code: Jetons un coup d'œil à un exemple pratique!

lst = [1, 2, 3, 4, 5, 6] Imprimer (sum (lst)) # 21print (sum (lst, 10)) # 31

Exercice: Essayez de changer la séquence afin que la somme de notre coquille de python interactive 30 soit:

Examinons quelques détails importantsTotal()Fonction dans Python.

Erreur

Un certain nombre d'erreurs peuvent se produire lors de l'utilisationTotal()Fonction dans Python.

Fuseau: Python déclenche un typeror lorsque vous essayez de résumer des éléments qui ne sont pas numériques.Voici un exemple:

# Afficher les exceptions possibles = ['Bob', 'Alice', 'Ann'] # Mauvais: s = sum (LST)

Si vous exécutez ce code, vous recevrez le message d'erreur suivant:

Traceback (dernier appel dernier): fichier "c: \ users \ xcent \ buketop \ code.py", ligne 3, dansS = sum (lst) typeror: types d'opéra non dirigés pour +: 'int' et 'str'

Python essaie de réaliser un règlement de signal avec la valeur de démarrage standard 0 (un entier).Bien sûr, cela échoue.La solution est simple: ajoutez uniquement des valeurs numériques dans la liste.

Si vous essayez de "hacher" Python en utilisant une chaîne vide comme valeur de démarrage, vous recevrez l'exception suivante:

# Exceptions possibles démontrent = ['Bob', 'Alice', 'Ann'] # Mauvais: s = sum (lst, '')

Sortie:

Traceback (dernier appel dernier): fichier "c: \ users \ xcent \ buketop \ code.py", ligne 5, dansS = sum (lst, '') typeror: sum () ne peut pas résumer la chaîne [utilisez à la place '' .join (seq)]

Vous pouvez supprimer toutes ces erreurs en ajoutant uniquement des éléments numériques à la liste.

(De plus amples informations sur la méthode "join ()" peuvent être trouvées dans cet article de blog.)

Complexité temporelle de la liste de la liste Python

La complexité du temps duTotal()La fonction est linéaire dans le nombre d'éléments dans itérable (Liste, Tupel,Phrase, etc.).La raison en est que vous passez par tous les éléments de l'ITRIBLE et que vous devez ajouter à une somme variables.Par conséquent, vous devez "toucher" tout élément itérable.

Liste de Python à partir de cordes

Problème: Comment pouvez-vous résumer une liste de chaînes, z[«Python», «est», «Grand»]?C'est ce qu'on appelle le requêtes de la chaîne.

Solution: Utilisez leconnecter()Méthode des cordes Python aussiChaîner toutes les cordesdans une liste.LeTotal()La fonction ne fonctionne que pour les données d'entrée numériques.

Code: L'exemple suivant montre comment tous les éléments sont «résumés» dans une certaine liste de chaînes (c'est-à-dire la chaîne).

# Liste de caractères = ['Bob', 'Alice', 'Ann'] print ('' '. JOIN (LST)) # BobalicanPrint (' '.join (LST)) # Bob Alice Ann

Liste python des listes à partir de listes

Problème: Comment pouvez-vous résumer une liste de listes, z[[1, 2], [3, 4], [5, 6]]Dans Python?

Solution: Utilisez une boucle simple pour une variable auxiliaire pour battre toutes les listes.

Code: Le code suivant chaîne toutes les listes en une seule liste.

# Lise der écoutelst = [[1, 2], [3, 4], [5, 6]] s = [] pour x dans lst: s.extend (x) print (s) # [1, 2, 3, 4, 5, 6]

Ledévelopper()La méthode est peu connue dans Python-However, il est très efficace d'ajouter plusieurs éléments à une liste Python en même temps.Jetez un œil à mon tutoriel détaillé dans ce blog Finxter.

Liste de somme python pendant la boucle

Problème: Comment pouvez-vous (sans) ajouter une boucle de temps à tous les éléments de liste?Total())?

Solution: Créez une variable d'agrégation et ajoutez itérativement un autre élément de la liste.

Code: Le code suivant montre comment toutes les valeurs numériques sont résumées dans une liste de python sans les utiliserTotal()Fonction.

# Liste du nombre complet = [1, 2, 3, 4, 5] # Variables d'agrégation = 0 # indexVariableti = 0 # Tous résumant

Ce n'est pas la plus belle méthode, mais elle est lisible et fonctionne (et ils ne voulaient pas les utiliserTotal()Fonction, non?).

Liste de Python pour Loop

Problème: Comment pouvez-vous ajouter tous les éléments de liste avec une boucle pour une boucle (sans.)?Total())?

Solution: Créez une variable d'agrégation et ajoutez itérativement un autre élément de la liste.

Code: Le code suivant montre comment toutes les valeurs numériques sont résumées dans une liste de python sans les utiliserTotal()Fonction.

# Liste du nombre complet = [1, 2, 3, 4, 5] # Variables d'agrégation = 0 # résume tout pour x dans LST: S + = X # Résultat # 15

C'est un peu plus lisible que la version précédente avec la boucle while car vous n'avez pas à garder un œil sur l'index actuel.

Liste de Python avec la compréhension de la liste

Compréhensionest une puissante fonction Python avec laquelle vous pouvez créer une nouvelle liste basée sur une liste itérable existante.Pouvez-vous uniquement résumer toutes les valeurs dans une liste avec la liste de la liste?

La réponse est non.Pourquoi?Parce qu'il y a une compréhension de la liste pour créer une nouvelle liste.Lors de la résumé des valeurs, il ne s'agit pas de créer une nouvelle liste.Vous souhaitez vous débarrasser de la liste et résumer toutes les valeurs de la liste dans une seule "somme" numérique.

Liste de somme python de l'élément Types

Problème: Comment résumez-vous une liste d'éléments de Tuels?

Exemple: Dites que vous avez une liste[(1, 1), (2, 0), (0, 3)]Et vous voulez additionner la première et la deuxième valeur tuplée pour obtenir le "tuple ajouté".(1 + 2 + 0, 1 + 0 + 3) = (3, 4).

Solution: Décompressez les tubes dans la fonction zip pour combiner la première et la deuxième valeur Tupel.Résumez ensuite ces valeurs séparément.Voici le code:

# Liste de tupleslst = [(1, 1), (2, 0), (0, 3)] # Premiers et deuxième valeurs Tupled Aggregated = List (zip (* lst)) # Résultats: [(1, 2 , 0)), (1, 0, 3)] # Calculez la somme des premières et secondes valeurs Tupes = (sum (zippé [0]), sum (zippe [1])) # sortie dans shellprint (res) # Résultat: (3, 4)))

Avez-vous besoin d'un rafraîchissement duFermeture éclair()Fonction et déballage?Jetez un œil à ces articles dans le blog Finxter:

  • Rafraîchissement zip
  • Rafraîchissant pour déballer

Le Python-Summenlist-Slice

Problème: Une liste.Résumé Une section de la liste d'origine entre l'indice de départ et de pas (et prendre également la taille de pas indiquée).

Exemple: Il y a une liste[3, 4, 5, 6, 7, 8, 9, 10].Prenez la fenêtre ensembleLST [2: 5: 2]avecDémarrer = 2,Arrêter = 5, EtÉtape = 2.

Solution: Utilisez le tranchage pour accéder à la liste.Appliquez ensuite la fonction sum () au résultat.

Code: Le code suivant calcule la somme d'une certaine tranche.

# Créez la liste = [3, 4, 5, 6, 7, 8, 9, 10] # Créez les tranches.) # 12 (= 5 + 7)

Examinons un problème intéressant: un résumé conditionnel!

Condition pour la liste de la liste Python

Problème: Il y a une liste.Comment additionnez-vous toutes les valeurs qui répondent à une condition spécifique?

Exemple: Dire que vous avez la listeLST = [5, 8, 12, 2, 1, 3]Et vous voulez résumer toutes les valeurs supérieures à 4.

Solution: Utilisez la liste de la liste pour filtrer la liste afin que seuls les éléments qui répondent à la condition soient laissés.Puis utilisez leTotal()Fonction pour résumer les valeurs restantes.

Code: Le code suivant additionne toutes les valeurs qui répondent à une condition spécifique (par exemplex> 4).

# Create list = [5, 8, 12, 2, 1, 3] # Liste filtrante filtrée = [x pour x en LST si x> 4] # Liste restante: [5, 8, 12] # Sum sur la liste filtrée = sum (filtré) # Tous les imprimés imprimés (s) # 25

Avez-vous besoin de rafraîchir votre liste de liste?Jetez un œil à mon tutoriel détaillé dans le blog Finxter.

La liste de Python n'ignore pas

Problème: Il existe une liste de valeurs numériques qui peuvent contenir certaines valeursAucun.Ils additionnent donc toutes les valeurs qui ne sont pas la valeurAucun?

Exemple: Dire que vous avez la listelst = [5, aucun, aucun, 8, 12, aucun, 2, 1, aucun, 3]Et vous voulez résumer toutes les valeurs qui ne sont pas disponiblesAucun.

Solution: Utilisez la liste de la liste pour filtrer la liste afin que seuls les éléments restent qui respectent la condition (qui diffèrent de).Aucun).Vous pouvez voir qu'il s'agit d'un cas particulier du paragraphe précédent, dans lequel vous recherchez une condition générale.Puis utilisez leTotal()Fonction pour résumer les valeurs restantes.

Code: Le code suivant résume toutes les valeurs qui ne sont pas disponiblesAucun.

# Create list = [5, Aucun, aucun, 8, 12, aucun, 2, 1, aucun, 3] # Liste filtre filtrée = [x pour x en lst si x! = Aucun] # liste restante: [5, 8 , 12, 2, 1, 3] # somme sur les listes filtrées = sum (filtrée) # imprimez tout

La même chose peut être faite avec la valeurDansCela peut falsifier votre résultat si vous ne faites pas attention.

Ignorer la liste de la liste de Python

Problème: Il existe une liste de valeurs numériques qui peuvent contenir certaines valeursDans(= "Pas de nombre").Ils additionnent donc toutes les valeurs qui ne sont pas la valeurDans?

Exemple: Dire que vous avez la listelst = [1, 2, 3, float ("nan"), float ("nan"), 4]Et vous voulez résumer toutes les valeurs qui ne sont pas disponiblesDans.

Solution: Utilisez la liste de la liste pour filtrer la liste afin que seuls les éléments restent qui respectent la condition (qui diffèrent de).Dans).Vous pouvez voir qu'il s'agit d'un cas particulier du paragraphe précédent, dans lequel vous recherchez une condition générale.Puis utilisez leTotal()Fonction pour résumer les valeurs restantes.

Code: Le code suivant résume toutes les valeurs qui ne sont pas disponiblesDans.

# Créer Isnan (x) Import Math # list = [1, 2, 3, float ("nan"), float ("nan"), 4] # oublie, 'nan'print (sum (lst) trop ignore) # ignorer 'nan'print (sum ([x pour x dans lst sinon math.isnan (x)])) # 10

Phew!Pas mal de choses.Merci d'avoir lu l'intégralité de l'article!J'espère que vous avez appris quelque chose de ce tutoriel et restez avec la recommandation suivante:

Où va-t-il d'ici?

Assez de théorie.Passons en pratique quelque chose!

Les programmeurs reçoivent une plage de six chiffres et plus encore, car ils peuvent résoudre les problèmes plus efficacement en utilisant l'intelligence et l'automatisation de la machine.

Pour réussir davantage dans le codage, résolvez des problèmes plus réels pour de vraies personnes.Dans la pratique, ils sont basés sur les compétences dont ils ont vraiment besoin.Parce que quelle utilisation est une théorie de l'apprentissage dont personne n'a besoin?

Vous créez des connaissances en programmation de haute qualité en travaillant sur des projets de programmation pratiques!

Souhaitez-vous arrêter d'apprendre avec des projets de jouets et vous concentrer sur des projets de code pratiques avec lesquels vous gagnez de l'argent et résolvez de vrais problèmes pour les gens?

🚀 Si votre réponse estEt!, considérez pour devenir unDéveloppeur Python indépendant!C'est la meilleure façon de s'attaquer à la tâche d'améliorer vos compétences Python - même si vous êtes un débutant absolu.

Si vous voulez juste en savoir plus sur les options de travail indépendant, veuillez consulter mon webinaire gratuit"Comment accumuler leurs puissantes compétences en python"Et découvrez comment j'ai élargi mon entreprise de programmation en ligne et comment vous pouvez le faire - commodément à domicile.

Participez maintenant au webinaire gratuit!

Python sum()-Liste – Eine einfache illustrierte Anleitung – Seien Sie auf der richtigen Seite der Veränderung (1)

Chris

Pendant mon travail en tant que chercheur dans des systèmes distribuésDr Christian MayerJ'ai découvert son amour pour l'enseignement des étudiants en informatique.

Pour aider les élèves à atteindre un niveau supérieur de réussite Python, il a fondé le site Web de formation en programmationFinxter.comCela a enseigné des millions de programmeurs partout dans le monde entier.Il est l'auteur des livres de programmation des meilleursPython(Nostarch 2020),L'art du code propre(Nostarch 2022) etLe livre par Dash(Nostarch 2022).Chris était également co-auteur du livreCafé Break PythonSérie de livres auto-émis.Il est un informaticien enthousiastepigisteet propriétaire de l'un des 10 plus grandsBlogs de Pythonmonde.

Ses passions sont l'écriture, la lecture et la programmation.Mais sa plus grande passion est de soutenir les programmeurs par le biais de programmeurs potentiels Finxter et de les aider à améliorer leurs compétences.Tu peuxEntrez son académie de courrier électronique gratuite ici.

Top Articles
Latest Posts
Article information

Author: Neely Ledner

Last Updated: 29/10/2023

Views: 6189

Rating: 4.1 / 5 (42 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Neely Ledner

Birthday: 1998-06-09

Address: 443 Barrows Terrace, New Jodyberg, CO 57462-5329

Phone: +2433516856029

Job: Central Legal Facilitator

Hobby: Backpacking, Jogging, Magic, Driving, Macrame, Embroidery, Foraging

Introduction: My name is Neely Ledner, I am a bright, determined, beautiful, adventurous, adventurous, spotless, calm person who loves writing and wants to share my knowledge and understanding with you.