@pcdesign

Как отсортировать вот такое?

my_lst = [
{"id": 1, "class": ["green"]},
{"id": 2, "class": ["red"]},
{"id": 3, "class": ["yellow"]},
{"id": 4, "class": ["green"]},
]


Чтобы сначала шли элементы содержащие green, затем yellow, затем red.
  • Вопрос задан
  • 357 просмотров
Решения вопроса 1
@bacon
по мне так стыдно за таким сюда ходить, элементарно же,
sorted(my_lst, key=lambda x: ['green', 'yellow', 'red'].index(x["class"][0]))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Dr_Elvis
@Dr_Elvis
В гугле забанен
Да первая же ссылка в гугле. я вот поражаюсь. найти этот ресурс - время есть, а в гугле написать свой вопрос - нет.
https://stackoverflow.com/questions/613183/how-do-...
Ответ написан
Комментировать
fenrir1121
@fenrir1121
ABAP developer, Python developer
Я бы предложил иное решение
my_lst.sort(key=lambda item: item.get("class"))
Только вот не понятно по какому принципу у вас предложена сортировка
Чтобы сначала шли элементы содержащие green, затем yellow, затем red

По-умолчанию сортируется по алфавиту, т.е green, red, yellow
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы