Maison > développement back-end > Tutoriel Python > Comment accumuler efficacement les résultats de calculs répétés en Python ?

Comment accumuler efficacement les résultats de calculs répétés en Python ?

Mary-Kate Olsen
Libérer: 2024-12-27 22:57:09
original
687 Les gens l'ont consulté

How to Efficiently Accumulate Results from Repeated Calculations in Python?

Comment accumuler les résultats de calculs répétés

Considérez le scénario suivant : vous avez un calcul qui attribue une valeur à y en fonction d'une valeur X. Vous souhaitez effectuer ce calcul plusieurs fois pour différentes valeurs de x et collecter les résultats dans une structure de données utile.

Boucle explicite

C'est l'approche la plus simple. Créez une liste ou un dictionnaire avant la boucle et ajoutez-y chaque résultat calculé. Par exemple :

def make_list_with_inline_code_and_for():
    ys = []
    for x in [1, 3, 5]:
        ys.append(x + 1)
    return ys
Copier après la connexion

Compréhension de liste ou expression génératrice

Les compréhensions de liste fournissent un moyen concis de créer des listes à partir de séquences existantes :

ys = [x + 1 for x in xs]
Copier après la connexion

Les expressions génératrices offrent une alternative paresseuse à la liste compréhensions.

Map

Map prend une fonction et l'applique à chaque élément d'une séquence, produisant une autre séquence. Vous pouvez l'utiliser comme ceci :

ys = list(map(calc_y, xs))
Copier après la connexion

Considérations supplémentaires

  • Utiliser les boucles for pour les cas avec une entrée existante où chaque élément doit être traité indépendamment.
  • Utilisez des expressions de compréhension ou génératrices pour appliquer des calculs à des séquences existantes.
  • Utilisez la carte lorsque (1) un la séquence d'entrée est disponible, (2) le calcul nécessite une fonction ou un appelable, et (3) le résultat doit être converti explicitement en une structure de données différente.
  • Évitez les boucles while pour créer un nombre fixe d'éléments de sortie ; à la place, générez une plage factice.
  • Préférez les compréhensions de liste plutôt que de carte dans la plupart des cas pour des raisons de simplicité et de flexibilité.
  • Les expressions génératrices sont utiles lorsque le résultat doit être évalué paresseusement, évitant ainsi une consommation inutile de mémoire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal