Intercambio de elementos en listas en python
Tengo una lista y necesito intercambiar el primer elemento de la lista con el elemento máximo en la lista.
Pero, ¿por qué funciona el código 1 mientras que el código 2 no:
código 1:
a = list.index(max(list))
list[0], list[a] = list[a], list[0]
código 2:
list[0], list[list.index(max(list))] = list[list.index(max(list))], list[0]
¿Pensé que Python primero evaluaría el lado derecho antes de asignarlo a los nombres de la izquierda?