Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier pythoniquement si une liste contient des éléments négatifs ?

Comment puis-je vérifier pythoniquement si une liste contient des éléments négatifs ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 15:46:11221parcourir

How Can I Pythonically Check if a List Contains Any Negative Elements?

Vérification Python des éléments négatifs dans une liste

Python fournit une fonction polyvalente appelée any() qui s'avère pratique pour vérifier les conditions dans un séquence d'éléments. Dans ce cas, nous voulons déterminer si un élément d'une liste est négatif.

Utilisation de 'any()' :

if any(t < 0 for t in x):
    # do something

La fonction any() prend une expression génératrice comme argument, dans ce cas (t < 0 pour t dans x). Pour chaque élément t de la liste x, cette expression génératrice renvoie True si t est négatif, sinon elle renvoie False. La fonction any() évalue cette expression génératrice et renvoie True si au moins un élément donne True.

Utilisation de 'True in ...' :

Bien que techniquement correct , l'approche consistant à utiliser True in ... n'est pas considérée comme pythonique car elle peut être inefficace. Au lieu de revenir plus tôt, l'expression du générateur parcourra toute la séquence, gaspillant potentiellement des ressources.

Si vous devez utiliser True dans ..., enveloppez l'expression du générateur dans une compréhension du générateur pour l'efficacité de la mémoire :

if True in (t < 0 for t in x):

Avec cette approche, la compréhension du générateur ne progresse que si nécessaire et ne consomme pas de mémoire inutile.

N'oubliez pas que lorsque vous vérifiez des conditions positives, vous pouvez exploiter De La loi de Morgan consistant à n'utiliser ni any() ni all(), qui renvoie True lorsque tous les éléments satisfont à la condition.

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:
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