Как на самом деле работает функция python list.sort ()? - PullRequest
0 голосов
/ 22 октября 2019

Посмотрите на следующий код:

arr = [5, 4, 3, 2, 1]
arr1 = arr
arr1.sort()
print(arr, arr1)

Ожидаемый результат:

[5, 4, 3, 2, 1] [1, 2, 3,4, 5]

As, arr1 сортируется, а не arr.

Хотя, вывод:

[1, 2, 3, 4, 5] [1, 2, 3, 4, 5]

Почему оба списка сортируются?

1 Ответ

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

sort() - это встроенная функция в Python, и списки передаются по ссылке. Таким образом, если один массив сортируется на месте, он также изменит другой.

Если вы хотите предотвратить это, вы можете использовать:

arr = arr1[:]

или

import copy
arr = copy.deepcopy(arr1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...