Форум сайта python.su
0
Всем привет!
Помогите пожалуйста отсортировать список по ключу из словаря.
Есть два списка и словарь, который играет связующим звеном этих списков. В нем просто два поля, которые являются как бы ссылками на соответствующие поля в этих списках.
list_s = list(engine.execute("SELECT service_id, service_description FROM service")) list_h = list(engine.execute("SELECT host_id, host_name FROM host ORDER BY host_name"))
Офлайн
568
Метод sort (или функция sorted), смотрите его параметр key.
Читать тут
Офлайн
0
FishHookСпасибо за ответ. Я читал эту страницу, там нет описания моего случая.
Метод sort (или функция sorted), смотрите его параметр key.Читать тут
Офлайн
568
Да ладно!
l = [{1:2}, {2:6}, {4: 7}, {1: 12}, {0:3}] def get_value(dct): return list(dct.values())[0] print (sorted(l, key=get_value))
Офлайн
0
Нет нет, похоже я плохо описал задачу, или даже неправильно.
Два массива списков, в каждом списке есть свое id-поле (первый элемент). Логически они связаны через словарь.
Я задаю id из первого списка в первом массиве, python возвращает номер списка из второго массива.
Офлайн
0
FishHookВторой-то список где? По одному списку, передавая параметр в словать, это понятно. Тут надо, получая значение из словаря, искать его во втором списке.
Да ладно!
Отредактировано NOK (Июль 28, 2014 18:24:09)
Офлайн
568
я ничего не понял. Показывайте пример списков, словаря и итоговой сортировки
Офлайн
0
FishHookВсе зарабатало. Код немного поменял, но за основу взял именно то, что Вы предложили.
я ничего не понял. Показывайте пример списков, словаря и итоговой сортировки
Офлайн
857
NOK
Есть два списка и словарь, который играет связующим звеном этих списков.
NOK
похоже я плохо описал задачу, или даже неправильно.
Офлайн