Maison >développement back-end >Tutoriel Python >Devriez-vous utiliser les compréhensions de listes pour les effets secondaires en Python ?
Les compréhensions de listes doivent-elles être utilisées pour les effets secondaires en Python ?
En Python, les fonctions sont souvent appelées pour leurs effets secondaires plutôt que pour leur retour valeurs. Ces effets secondaires peuvent inclure l'impression à l'écran, la mise à jour d'une interface utilisateur graphique ou l'écriture dans un fichier.
Lorsqu'il s'agit d'invoquer des fonctions avec des effets secondaires à l'aide de compréhensions de liste, il existe deux approches générales :
Approche 1 : Compréhension de liste pour Side Effets
[fun_with_side_effects(x) for x in y if (...conditions...)]
Approche 2 : Boucle conditionnelle
for x in y: if (...conditions...): fun_with_side_effects(x)
La question se pose : quelle approche est la plus pythonique ?
Réponse : l'approche 2 est fortement recommandée
Utilisation de la liste la compréhension des effets secondaires est fortement déconseillée en Python. La principale raison en est la création inutile d’une liste intermédiaire. Cette liste est supprimée immédiatement après sa création, ce qui peut constituer un gaspillage de ressources important si la liste est volumineuse.
En revanche, l'approche en boucle conditionnelle ne crée pas de structures de données inutiles. Il évalue directement chaque élément de la liste d'entrée, minimisant potentiellement les frais généraux.
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!