Я пытался использовать встроенную функцию сортировки в Python3 и столкнулся с проблемой индексации ключа. Если у меня есть:
sorted_list = sorted(unsorted_list, key = lambda items: unsorted_list[2], reverse = True)
, где мой несортированный список является списком кортежей длины 3. Эта строка должна сортировать несортированный список на основе 3-го значения в кортеже.
Проблема в том, что в строке возникает ошибка, если список, который вы пытаетесь отсортировать, имеет длину <= 2. с индексом списка вне диапазона ошибок. Если я запускаю его со списком большей длины, он работает просто отлично. </p>
, когда я пытаюсь заменить индекс на -1 вместо этого, так как это последнее значение в списке, оно прекрасно работает.
sorted_list = sorted(unsorted_list, key = lambda items: unsorted_list[-1], reverse = True)
Является ли это известной ошибкой в функции sorted (), я полагаю, возможно, интерпретатор видит, что unsorted_list [2] не существует, поэтому выражение не выполняется до того, как будет вычислено лямбда-выражение, или я что-то неправильно понимаю в функции sorted ()?
Любая помощь будет принята с благодарностью, спасибо!