Maison > développement back-end > Tutoriel Python > Comment les fonctions `any()` et `all()` de Python se comportent-elles lors de la comparaison de tuples ?

Comment les fonctions `any()` et `all()` de Python se comportent-elles lors de la comparaison de tuples ?

Barbara Streisand
Libérer: 2024-12-09 20:04:15
original
592 Les gens l'ont consulté

How Do Python's `any()` and `all()` Functions Behave When Comparing Tuples?

Comment fonctionnent toutes les fonctions de Python

Lors de la comparaison de tuples, les fonctions intégrées any() et all() entrent en jeu jouer. Voici en quoi ils diffèrent :

any()

any() est évalué à True si au moins un élément d'un itérable est Truthy (c'est-à-dire pas False, 0, '', etc.).

all()

all(), de l'autre main, renvoie True uniquement lorsque chaque élément d'un itérable est Truthy.

Comprendre le cas d'utilisation

Dans l'extrait de code fourni :

print [any(x) and not all(x) for x in zip(*d['Drd2'])]
Copier après la connexion

Chacun des tuples de zip(*d['Drd2']) est évalué dans le contexte de any(x) et non de all(x). Cependant, le résultat inattendu [Faux, Faux, Faux] soulève des questions.

Interprétation des erreurs

Selon la table de vérité pour tous :

any(x) all(x) any(x) and not all(x)
True False True
False True False
True True False
False False False

Dans ce cas, tous les tuples sont constitués de nombres identiques (c'est-à-dire des valeurs vraies), donc any(x) serait toujours vrai, et all(x) serait également vrai. Par conséquent, any(x) et not all(x) doivent toujours être évalués à False, ce qui n'est pas reflété dans le résultat.

Cause de l'erreur

L'erreur réside dans l'attente erronée que (x[0] != x[1]) serait une expression de vérité. Cependant, lorsque les nombres dans le tuple sont égaux (par exemple, (1, 1)), (x[0] != x[1]) est évalué à False.

Corriger la logique

Pour déterminer avec précision si des valeurs au sein d'un tuple sont différentes, vous pouvez utiliser la logique suivante :

print [x[0] != x[1] for x in zip(*d['Drd2'])]
Copier après la connexion

Cette expression compare correctement les éléments correspondants de chaque tuple pour identifier les différences, comme prévu.

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!

source:php.cn
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