Я пытаюсь сортировать список по нескольким условиям, используя этот код.Python - Сортировочные списки
lis = sorted([lsDataSorted[i:i+8] for i in range(0,len(lsDataSorted),8)],key=lambda x:(x[7],int(x[5])-int(x[6]),x[5],x[0]),reverse=True)
Теперь нам не нужно беспокоиться говорить о том, что каждый объект, но мы видим, что у меня есть функция «реверс» сортировки. Теперь последнее условие x[0]
- список имен. Используя reverse=True
, мы знаем, что сортировка будет в обратном порядке (z-a). Мой вопрос: могу ли я «вернуться назад» к нормальному состоянию только для последнего условия? Если да, то как?
[Этот ответ] (http://stackoverflow.com/a/6667177/1126943) должен вам помочь. – zch
См. [Этот вопрос] (http://stackoverflow.com/questions/1516249/python-list-sorting-with-multiple-attributes-and-mixed-order) и его ответы. – ErikR
хорошо, так что в других словах его лучше написать новую строку с той же самой лямбдой, но с последним условием? – diaco