Вложенный список и сортировка в python

Я не знаю, возможно ли это или нет. Я пытаюсь найти способ сортировки вложенного списка при следующем условии

  1. я хочу сортировать форму 1 балл к другому (НЕ весь список только его часть)
  2. сортировка должна выполняться на основе 3-го элемента подписок

Идея того, что я хочу:

PAE=[['a',0,8], ['b',2,1], ['c',4,3], ['d',7,2], ['e',8,4]] #PAE[1:4].sort(key=itemgetter(2)) (something like this) or #sorted(PAE[1:4],key=itemgetter(2)) (something like this) ` # ^ i know both are wrong but just for an idea ` #output should be like this ['a', 0, 8] ['b', 2, 1] ['d', 7, 2] ['c', 4, 3] ['e', 8, 4] 

Я новичок в python, но я попытался найти лучший способ найти решение, но не смог.

Сортируйте срез и запишите его :

 >>> PAE[1:4] = sorted(PAE[1:4], key=itemgetter(2)) >>> PAE [['a', 0, 8], ['b', 2, 1], ['d', 7, 2], ['c', 4, 3], ['e', 8, 4]] 

Это должно сделать:

 from operator import itemgetter PAE=[['a',0,8], ['b',2,1], ['c',4,3], ['d',7,2], ['e',8,4]] split_index = 1 print PAE[:split_index]+sorted(PAE[split_index:],key=itemgetter(2)) #=> [['a', 0, 8], ['b', 2, 1], ['d', 7, 2], ['c', 4, 3], ['e', 8, 4]] 

здесь без разделения, вопрос – это то, что лучше для читаемости

 PAE=[['a',0,8], ['b',2,1], ['c',4,3], ['d',7,2], ['e',8,4]] print (sorted(PAE, key=lambda PAE: PAE[1] if not PAE[1] else PAE[2])) >>> [['a', 0, 8], ['b', 2, 1], ['d', 7, 2], ['c', 4, 3], ['e', 8, 4]]