У меня есть следующий список списков "category"
объектов в переменной с именем "category_tree"
, которая является списком:
[[<Category: State>, <Category: County>, <Category: Chicago>],
[<Category: Animal>],
[<Category: State>, <Category: County>],
[<Category: State>, <Category: County>, <Category: NYC>],
[<Category: Animal>, <Category: Fish>],
[<Category: State>, <Category: County>, <Category: LA>],
[<Category: Animal>, <Category: Frog>, <Category: TreeFrog>, <Category: Fred>]]
Мне нужно отсортировать list
верхнего уровня по .name
свойства базового lists
. Я не хочу сортировать базовые списки, а только верхний уровень list
.
Предполагая, что элементы .name
соответствуют перечисленным здесь, я пытаюсь получить следующее:
[[<Category: Animal>],
[<Category: Animal>, <Category: Fish>],
[<Category: Animal>, <Category: Frog>, <Category: TreeFrog>, <Category: Fred>]
[<Category: State>, <Category: County>],
[<Category: State>, <Category: County>, <Category: Chicago>],
[<Category: State>, <Category: County>, <Category: LA>],
[<Category: State>, <Category: County>, <Category: NYC>]]
Я могу отсортировать их по первому или последнему столбцу с помощью:
category_tree.sort(key=lambda x: x[0].name)
category_tree.sort(key=lambda x: x[-1].name)
Но проблема, с которой я столкнулся, заключается в том, что они имеют переменное количество столбцов, поэтому я не могу отсортировать их таким образом для всех внутренних столбцов.
Как лучше всего это сделать?