Форум сайта python.su
0
Добрый день!
Я только начал изчать питон и уже второй день не мог придумать алгоритм для фильтрации списка.
Список выглядит следующим образом:
[{'email':'user1@mail.ru', 'name':'name1', 'count':1},{'email':'user2@mail.ru', 'name':'name1', 'count':1}, {'email':'user3@mail.ru', 'name':'name1', 'count':1},{'email':'user1@mail.ru', 'name':'name1', 'count':1}]
[{'email':'user1@mail.ru', 'name':'name1', 'count':2},{'email':'user2@mail.ru', 'name':'name1', 'count':1}, {'email':'user3@mail.ru', 'name':'name1', 'count':1}]
Офлайн
1
уникальность поддерживается множеством
Офлайн
0
Py_UserМножества не поддерживают словари.
уникальность поддерживается множеством
Офлайн
1
а кто мешает добавлять туда только ‘email’? .. добавили, множество увеличилось - ‘email’ уникален
Офлайн
0
Py_UserНужна именно такая структура, как в примере выше.
а кто мешает добавлять туда только ‘email’? .. добавили, множество увеличилось - ‘email’ уникален
Офлайн
568
lst = [{'email':'user1@mail.ru', 'name':'name1', 'count':1}, {'email':'user2@mail.ru', 'name':'name1', 'count':1}, {'email':'user3@mail.ru', 'name':'name1', 'count':1}, {'email':'user1@mail.ru', 'name':'name1', 'count':1}] res = {} for i in lst: if i["email"] in res: res[i["email"]]["count"] += 1 else: res[i["email"]] = i print(res.values())
Отредактировано FishHook (Дек. 28, 2016 14:17:43)
Офлайн
0
FishHookБольшое спасибо!
Офлайн