fogersp
@fogersp

Как сгруппировать list?

Добрый день.
В питоне не так давно
Нужно сделать выборку из таблицы MySQL и полученный результат отсортировать и сгруппировать по ключу и положить в другой массив. Средствами MySQL в запросе не смогу, так как запросов несколько и результаты их выполнения нужно сложить в один результирующий массив

В php я делал так (в цикле выборки)
$arr[] = array( "year" => $year, "month" => $month, "class" => $class, "zone" => $zone);
// а потом группировал 
foreach ($arr as $val) {
    $result[$val['zone']][] = array("class" => $val['class'], "year" => $val['year'], "month" => $val['month']);
}


Получался массив сгруппированный по zone.
В Python вообще не пойму массивы, как-то не превычно все
Подскажите, как аналогично php-шному коду выше сделать на Python?

Вот так добавляю записи в массив:

list.append([year, month, class, zone])
А потом нужно сгруппировать его по zone (записей очень много)
Помогите советом!
  • Вопрос задан
  • 2434 просмотра
Решения вопроса 1
Для группировки необходимо использовать словарь:
result = {}
for i in arr:
    result[i[3]] = {'year' : i[0], 'month' : i[1], 'class' : i[2]}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы