Переменная списков в Python - PullRequest
       17

Переменная списков в Python

0 голосов
/ 05 октября 2019

В чем разница между

A[i], A[min_idx] = A[min_idx], A[i] 

и

A[i] = A[min_idx]
A[min_idx] = A[i]

Спасибо!

Ответы [ 2 ]

0 голосов
/ 05 октября 2019

в некоторых языках программирования (например, c, c ++ и, я полагаю, sill в Java), если вам нужно поменять местами значение двух переменных, вам нужно использовать временную переменную.

т.е.

temp = A[i]
a[i] = A[min_idx]
A[i] = temp 

В Python вы можете сделать это

A[i], A[min_idx] = A[min_idx], A[i] 
0 голосов
/ 05 октября 2019

Следующее значение поменяет местами значение между индексами i и min_idx:

A[i], A[min_idx] = A[min_idx], A[i]

Следующее делает оба значения равными оригинальному A [min_dx]

A[i] = A[min_idx] 
A[min_idx] = A[i]

Тест:

>>> A = [1, 20, 40, 50]
>>> i = 1
>>> min_idx = 3
>>> A[i], A[min_idx] = A[min_idx], A[i]
>>> A
[1, 50, 40, 20]

>>> A = [1, 20, 40, 50]
>>> i = 1
>>> min_idx = 3
>>> A[i] = A[min_idx]
>>> A[min_idx] = A[i]
>>> A
[1, 50, 40, 50]
...