Sin ejecutarlo, ¿podrías decir qué imprime cada print del código? Es importante saber que la función max devuelve el mayor valor cuando se le pasan dos o más argumentos, y en este caso está recibiendo tres listas con el mismo contenido. Por su parte, id es una función que devuelve la referencia (dirección de memoria) del objeto que se le pase como argumento.

Click aquí para desplegar la solución. 👈
✅ La respuesta correcta es la d: False, True, True

✏️ Explicación: max() devuelve el mayor valor de los argumentos que se le pasan, y en este caso se le pasaron tres listas iguales: [1,2,3], pero cada una guardada en una variable diferente (es decir que son tres objetos, con tres direcciones de memoria, aunque los tres tengan el mismo contenido). Cuando hay elementos iguales, max simplemente devuelve el primero de ellos (de izquierda a derecha) que tenga el valor máximo. Por eso la variable d es una referencia a la lista guardada en a y la variable e es una referencia a la lista guardada en c.


Solución al desafío



Desafío Python 👇
Desafío Python número 11

Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
 

Desafío Python

¿Qué imprime este programa?

a = [1,2,3]
b = [1,2,3]
c = [1,2,3]
d = max(a,b,c)
e = max(c,b,a)
print(id(d) == id(e))
print(id(d) == id(a))
print(id(e) == id(c))

Opciones:

a) False, False, True

b) True, True, True

c) True, False, True

d) False, True, True