Maison > développement back-end > Tutoriel Python > Comment Python compare-t-il les listes avec des opérateurs supérieur à et inférieur à ?

Comment Python compare-t-il les listes avec des opérateurs supérieur à et inférieur à ?

Susan Sarandon
Libérer: 2024-11-04 06:52:01
original
963 Les gens l'ont consulté

How Does Python Compare Lists with Greater Than and Less Than Operators?

Comparaison de listes avec l'opérateur Supérieur ou Inférieur à : des surprises dans l'ordre lexicographique

Lorsque vous rencontrez du code, comparez directement des listes en utilisant l'opérateur supérieur ou inférieur than (> et <), vous pouvez supposer que de telles comparaisons renvoient True si tous les éléments de la première liste sont supérieurs à ceux de la deuxième liste, et False dans le cas contraire. Cependant, les tests révèlent des résultats inattendus.

Pour percer ce mystère, nous nous tournons vers la documentation de Python sur la comparaison des séquences et d'autres types. Il indique que de telles comparaisons suivent un ordre lexicographique et non des comparaisons élément par élément :

  • Les deux premiers éléments des listes sont comparés. S'ils diffèrent, cela détermine le résultat.
  • Si les premiers éléments sont égaux, les deux éléments suivants sont comparés.
  • Ce processus se poursuit jusqu'à ce qu'une liste soit à court de éléments.

Considérons l'exemple suivant :

a = [3, 3, 3, 3]
b = [4, 4, 4, 4]
Copier après la connexion

Étant donné que les premiers éléments (3 et 4) diffèrent, b est considéré comme supérieur à a. Cela correspond à notre hypothèse selon laquelle tous les éléments de b sont plus grands que ceux de a.

Cependant, le cas suivant illustre plus clairement la règle d'ordre lexicographique :

a = [1, 1, 3, 1]
b = [1, 3, 1, 1]
Copier après la connexion

Depuis les premiers éléments ( 1) sont égaux, la comparaison passe aux éléments suivants. Dans ce cas, le deuxième élément de a (1) est inférieur au deuxième élément de b (3). Par conséquent, malgré le fait que a a plus d'éléments supérieurs à 1 que b, b est considéré comme supérieur à a.

En résumé, lors de la comparaison de listes utilisant l'opérateur supérieur ou inférieur à, Python utilise un ordre lexicographique, plutôt que des comparaisons élément par élément. Cela peut conduire à des résultats inattendus, surtout lorsque les listes contiennent des éléments de valeurs différentes.

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