Значения списка b
значения
Значения b
важны, поскольку они используются для индексации в a
.Первоначально приведенный вами пример не выдает ошибку, поскольку каждое значение b
может использоваться в качестве индекса для получения значений из b
.
Другими словами, если значения b
изменились с[0, 1, 2, 3]
- [1, 2, 3, 4]
, это приведет к IndexError
, поскольку последний элемент, 4
, будет указывать на пятый элемент в a
, который не существует.
Далееобъяснение
b
отсортировано по функции ниже (она же ваша оригинальная лямбда-функция).
def anonymous(x):
return a[x]
Что происходит под капотом, так это то, что каждое значение b
используется в качестве индекса a
для извлечения и сравнения значений a
.
a[0] = 13
a[1] = 15
a[2] = 81
a[3] = 4
Здесь мы сортируем правую часть каждого уравнения в порядке возрастания: [4, 13, 15, 81]
.Затем мы получаем соответствующие значения b
в том же порядке: [3, 0, 1, 2]
, что приводит к окончательному отсортированному массиву b
.