Comment fonctionne la comparaison tuple en Python?

j'ai lu le Core Python Livre de programmation, et l'auteur montre un exemple comme:

(4, 5) < (3, 5) # Equals false

donc, je me demande, comment/pourquoi est-ce que cela signifie faux? Comment python comparer ces deux tuples?

Btw, ce n'est pas expliqué dans le livre.

113
demandé sur nbro 2011-03-13 23:52:29

2 réponses

les Tuples sont comparés position par position: le premier article du premier tuple est comparé au premier article du deuxième tuple; s'ils ne sont pas égaux, c'est le résultat de la comparaison, sinon le deuxième article est considéré, puis le troisième et ainsi de suite.

voir doc :

Les types de séquences

permettent également des comparaisons. En particulier, les tuples et les listes sont comparés lexicographiquement en comparant les élément. Cela signifie que pour comparer l'égalité, chaque élément doit comparer l'égalité et les deux séquences doivent être du même type et ont la même longueur.

aussi ce :

Tuples et listes sont comparés lexicographiquement en utilisant la comparaison des éléments correspondants. Cela signifie que pour comparer l'égalité, chaque élément doit comparer l'égalité et les deux séquences doivent être du même type et de la même longueur.

si elles ne sont pas égales, les séquences sont ordonnées de la même façon que leurs premiers éléments différents. Par exemple, le cpm([1,2,x], [1,2,y]) renvoie la même que cmp(x,y). Si l'élément correspondant n'existe pas, la séquence plus courte est considérée comme plus petite (par exemple, [1,2] < [1,2,3] retourne True).

Note que < et > ne signifie pas "plus petit que" et "plus grand que", mais "avant" et "est après": (0, 1) "est avant" (1, 0).

Note 2 : les tuples ne doivent pas être considérés comme des coordonnées dans un n-dimensionnel espace! [c'est-à-dire que (x, y) et (x1, y1) ne sont pas des points dans un plan cartésien xOy]... mhm, c'est tout à fait inutile remarque...

Note 3 : se référant à la question Python 2 tuple comparison : ne pensez pas qu'un tuple est "plus grand" que un autre seulement si l'un des éléments du premier est plus grand que le correspondant du second

132
répondu Don 2018-07-04 09:36:16

le documentation Python l'explique.

Tuples et des listes sont comparés analyse lexicographique utilisant la comparaison éléments correspondants. Cela signifie que pour comparer égal, chaque élément doit comparer equal et les deux les séquences doivent être du même type et ont la même longueur.

19
répondu Keith 2015-09-29 12:05:19