¿Cómo funciona la comparación de tuplas en Python?

He estado leyendo el libro de progtwigción Core Python , y el autor muestra un ejemplo como:

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

Entonces, me pregunto, ¿cómo / por qué es igual a falso? ¿Cómo compara Python estas dos tuplas?

Por cierto, no está explicado en el libro.

Las tuplas se comparan posición por posición: el primer elemento de la primera tupla se compara con el primer elemento de la segunda tupla; si no son iguales (es decir, el primero es mayor o menor que el segundo), entonces ese es el resultado de la comparación, de lo contrario se considera el segundo elemento, luego el tercero y así sucesivamente.

Ver doc :

Los tipos de secuencia también admiten comparaciones. En particular, las tuplas y las listas se comparan lexicográficamente mediante la comparación de los elementos correspondientes. Esto significa que para comparar igual, cada elemento debe comparar igual y las dos secuencias deben ser del mismo tipo y tener la misma longitud.

También esto :

Las tuplas y las listas se comparan lexicográficamente mediante la comparación de los elementos correspondientes. Esto significa que para comparar igual, cada elemento debe comparar igual y las dos secuencias deben ser del mismo tipo y tener la misma longitud.

Si no es igual, las secuencias se ordenan igual que sus primeros elementos diferentes. Por ejemplo, cmp ([1,2, x], [1,2, y]) devuelve lo mismo que cmp (x, y). Si el elemento correspondiente no existe, la secuencia más corta se considera más pequeña (por ejemplo, [1,2] <[1,2,3] devuelve True).

Nota 1 : < y > no significan "más pequeño que" y "mayor que" pero "es anterior a" y "es posterior a": por lo que (0, 1) "es anterior a" (1, 0).

Nota 2 : las tuplas no deben considerarse como vectores en un espacio n-dimensional , en comparación con su longitud.

Nota 3 : refiriéndose a la pregunta Comparación de tupla de Python 2 : no piense que una tupla es "mayor" que otra solo si un elemento de la primera es mayor que el correspondiente en la segunda.

La documentación de Python sí lo explica.

Las tuplas y las listas se comparan lexicográficamente mediante la comparación de los elementos correspondientes. Esto significa que para comparar igual, cada elemento debe comparar igual y las dos secuencias deben ser del mismo tipo y tener la misma longitud.

 Comparing tuples A comparison operator in Python can work with tuples. The comparison starts with a first element of each tuple. If they do not compare to =,< or > then it proceed to the second element and so on. It starts with comparing the first element from each of the tuples Let's study this with an example- #case 1 a=(5,6) b=(1,4) if (a>b):print("a is bigger") else: print("b is bigger") #case 2 a=(5,6) b=(5,4) if (a>b):print("a is bigger") else: print ("b is bigger") #case 3 a=(5,6) b=(6,4) if (a>b):print("a is bigger") else: print("b is bigger") Case1: Comparison starts with a first element of each tuple. In this case 5>1, so the output a is bigger Case 2: Comparison starts with a first element of each tuple. In this case 5>5 which is inconclusive. So it proceeds to the next element. 6>4, so the output a is bigger Case 3: Comparison starts with a first element of each tuple. In this case 5>6 which is false. So it goes into the else loop prints "b is bigger." conclusion: Tuples always compare its first index and gives output according to your program.it does not compare all the elements. 

Antes tenía cierta confusión con respecto a la comparsión de enteros, por lo que explicaré que es más fácil para principiantes con un ejemplo.

a = ('A','B','C') # see it as the string "ABC" b = ('A','B','D')

A se convierte a su correspondiente ASCII ord('A') #65 igual para otros elementos

Entonces, >> a>b # True , puedes pensar que se compara entre cadenas (en realidad es exactamente)

Lo mismo ocurre con los enteros también.

x = (1,2,3) # see it the string "123" y = (1,2,2) x > y # False

porque (1 no es mayor que 1, mover al siguiente, 2 no es mayor que 2, mover al siguiente 2 es menos que tres -lexicográficamente -)

El punto clave se menciona en la respuesta anterior.

Piense en ello como un elemento está antes de que otro elemento alfabéticamente no sea mayor que un elemento y, en este caso, considere todos los elementos de la tupla como una sola cadena.