Здесь я хочу поменять 4 и 2 в данном списке с помощью индексов и, следовательно, я пишу следующий код.
>>>arr = [4,3,1,2]
>>> arr[0] , arr[arr[0]-1] = arr[arr[0]-1] ,arr[0]
>>> arr
[2, 4, 1, 2]
Приведенный выше код дает неожиданный вывод, как вы можете видеть. Ожидаемый выход составил [2,3,1,4].
Но когда я пишу как
>>>arr = [4,3,1,2]
>>>index = arr[0] - 1
>>>arr[0] , arr[index] = arr[index] ,arr[0]
>>>arr
[2, 3, 1, 4]
Выходная информация соответствует ожидаемой.
Почему это?
Edit:
Да, есть другой способ поменять местами первый и последний элемент. У меня была необходимость выбрать этот подход, после чего я столкнулся с этим ненормальным поведением. Для которого я еще не нашел никакого объяснения