[{"item_id": 123, "bot_id": 321, "number": 1}, {"item_id": 123, "bot_id": 321, "number": 2}, {"item_id": 123, "bot_id": 567, "number": 3}] в один словарь, где ключами выступают уникальные значения поля "bot_id", а значениями - списки словарей, который содержат этот самый ключ? То есть на выходе должно получиться так:
{321: [{"item_id": 123, "number": 1}, {"item_id": 123, "number": 2}], 567: [{"item_id": 123, "number": 3}]}
my_list.sort(key=lambda x: x['item_id']) result_in_iter = groupby(my_list, key=x['item_id']) result = {k: list(v) for k, v in result} Вроде так, с телефона набрал, но должно работать
Благодарю, пойду пробовать)
"bot_id" остался в словарях.
my_list.sort(key=lambda x: x['item_id']) result_in_iter = groupby(my_list, key=x['item_id']) result = {k: list(v) for k, v in result if k != 'bot_id'} Да господи, чисто накрутить условие в компрехеншен
Откуда у тебя в result_in_iter ключ 'bot_id'? У тебя же там группы, не дикты.
Обсуждают сегодня