Python >> Tutoriel Python >  >> Python

Liste de somme d'une ligne Python

Résumé de l'article : Voici un aperçu visuel rapide du contenu de ce didacticiel.

  • Liste plate : Pour additionner une liste de nombres dans une seule ligne de code Python, utilisez la fonction intégrée de Python sum(list) .
  • Liste imbriquée : Pour additionner une liste de listes sur une seule ligne Python, utilisez une expression de générateur pour aplatir la liste et transmettre le résultat à la fonction :sum(x for y in list for x in y) .

Méthode 1 :Somme sur une liste plate sur une seule ligne

Problème :Comment additionner toutes les valeurs d'une liste Python donnée ?

Exemple :Soit la liste suivante.

a = [1, 2, 3]

Vous voulez calculer la somme de toutes les valeurs de la liste, en utilisant une seule ligne de code Python !

# RESULT: 6

Solution  :sum() intégré de Python La fonction vous aide à additionner toutes les valeurs d'un itérable, comme une liste Python.

Résumer une liste de nombres apparaît partout dans le codage. Heureusement, Python fournit le sum() intégré fonction pour additionner tous les éléments d'une liste Python - ou tout autre itérable d'ailleurs. (Documents officiels)

Code :Voici l'exemple de code minimal.

a = [1, 2, 3]

print(sum(a))
# 6

Comment ça marche? La syntaxe est sum(iterable, start=0) :

Argument Description
iterable Somme sur tous les éléments du iterable . Cela peut être une liste, un tuple, un ensemble ou toute autre structure de données qui vous permet d'itérer sur les éléments.
Exemple :sum([1, 2, 3]) renvoie 1+2+3=6 .
start (Facultatif.) La valeur de départ par défaut est 0. Si vous définissez une autre valeur de départ, la somme de toutes les valeurs dans le iterable sera ajouté à cette valeur de départ.
Exemple :sum([1, 2, 3], 9) renvoie 9+1+2+3=15 .

Exercice  :Essayez de modifier la séquence pour que la somme soit 30 dans notre shell Python interactif :

Méthode 2 :Somme sur une liste imbriquée de listes sur une seule ligne

Problème :Étant donné plusieurs listes dans une liste de listes. Comment pouvez-vous additionner toutes les valeurs d'une liste de listes telles que [[1, 2], [3, 4], [5, 6]] en Python ?

Solution  :Utilisez une expression de générateur pour aplatir les valeurs dans la liste imbriquée et passer l'itérable résultant dans le sum() fonction.

Code  :Le code suivant crée une liste de listes :

a = [[1, 2], [3, 4], [5, 6]]

Pour additionner les valeurs de la liste des listes, utilisez la ligne suivante :

print(sum(x for y in a for x in y))

La sortie est imprimée sur le shell :

# OUTPUT: 21

Mais comment ça fonctionne? La partie principale du code est l'expression du générateur x for y in a for x in y qui aplatit la liste.

  • La partie x for y in a for x in y itère sur tous les éléments y dans la liste imbriquée a .
  • La partie x for y in a for x in y itère sur tous les éléments y dans la liste interne y .
  • La partie x for y in a for x in y stocke l'élément interne dans l'itérable.

Voici un récapitulatif sur la technique de compréhension de liste.

Pour en savoir plus sur les différentes façons de sum() éléments dans une liste, consultez mon tutoriel de blog détaillé :

Tutoriel associé :Liste Python sum() — Guide Ultime

Livre Python One-Liners :maîtrisez d'abord la ligne unique !

Les programmeurs Python amélioreront leurs compétences en informatique avec ces lignes utiles.

Python One-Liners vous apprendra à lire et à écrire des « lignes simples » :des déclarations concises de fonctionnalités utiles regroupées dans une seule ligne de code. Vous apprendrez à décompresser et à comprendre systématiquement n'importe quelle ligne de code Python, et à écrire du Python éloquent et puissamment compressé comme un expert.

Les cinq chapitres du livre couvrent (1) les trucs et astuces, (2) les expressions régulières, (3) l'apprentissage automatique, (4) les principaux sujets de science des données et (5) les algorithmes utiles.

Des explications détaillées des one-liners introduisent les concepts clés de l'informatique etdéveloppez vos compétences en matière de codage et d'analyse . Vous découvrirez les fonctionnalités Python avancées telles que la compréhension de liste , tranchage , fonctions lambda , expressions régulières , carte et réduire fonctions et affectations de tranches .

Vous apprendrez également à :

  • Exploiter les structures de données pour résoudre des problèmes réels , comme utiliser l'indexation booléenne pour trouver des villes avec une pollution supérieure à la moyenne
  • Utiliser les bases de NumPy comme tableau , forme , axe , tapez , diffusion , indexation avancée , tranchage , tri , recherche , agrégation , et statistiques
  • Calculer des statistiques de base de tableaux de données multidimensionnels et les algorithmes K-Means pour l'apprentissage non supervisé
  • Créer davantage d'expressions régulières avancées en utilisant le regroupement et groupes nommés , anticipations négatives , caractères échappés , espaces blancs, jeux de caractères (et jeux de caractères négatifs ) et opérateurs gourmands/non gourmands
  • Comprendre un large éventail de sujets informatiques , y compris les anagrammes , palindromes , surensembles , permutations , factorielles , nombres premiers , Fibonacci chiffres, obscurcissement , recherche , et tri algorithmique

À la fin du livre, vous saurez comment écrire Python dans sa forme la plus raffinée , et créez de belles pièces concises d'"art Python" en une seule ligne.

Obtenez vos Python One-Liners sur Amazon !!

Humour nerd