Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [{'date': '110217', 'name': 'ivan'}, {'date': '170518', 'name': 'ivan'}, {'date': '200118', 'name': 'maxim'}, {'date': '110217', 'name': ‘maxim'}]
- types = [ {'type':'tango', 'date':'200118'},
- {'type':'box', 'date':'110217'},
- {'type':'strip', 'date':'170518'}]
- user_list = [{'name':'maxim', 'date':'200118'},
- {'name':'ivan', 'date':'110217'},
- {'name':'elena', 'date':'051018'},
- {'name':'gleb', 'date':'170518'},
- {'name':'magas', 'date':'110217'},
- {'name':'ivan', 'date':'170518'},
- {'name':'maxim', 'date':'110217'}]
- dates = [dct['date'] for dct in types]
- names = list(set([dct['name'] for dct in user_list]))
- goodusers = []
- for name in names:
- res = []
- for u in user_list:
- if u['name']==name and u['date'] in dates:
- res.append(u)
- if len(res)>1:
- goodusers += res
- print(goodusers)
- from itertools import groupby
- dates = [dct['date'] for dct in types]
- # фильтруем по совпадению дат
- users = (d for d in user_list if d['date'] in dates)
- # сортируем, для работы функции группировки
- users = sorted(users, key=lambda u: u['name'])
- double_users = []
- for _, u in groupby(users, key=lambda u: u['name']):
- pool = tuple(u)
- if len(pool) > 1:
- double_users += pool
- print(double_users)
Add Comment
Please, Sign In to add comment