Guest User

Untitled

a guest
Oct 20th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. [{'date': '110217', 'name': 'ivan'}, {'date': '170518', 'name': 'ivan'}, {'date': '200118', 'name': 'maxim'}, {'date': '110217', 'name': ‘maxim'}]
  2.  
  3. types = [ {'type':'tango', 'date':'200118'},
  4. {'type':'box', 'date':'110217'},
  5. {'type':'strip', 'date':'170518'}]
  6.  
  7. user_list = [{'name':'maxim', 'date':'200118'},
  8. {'name':'ivan', 'date':'110217'},
  9. {'name':'elena', 'date':'051018'},
  10. {'name':'gleb', 'date':'170518'},
  11. {'name':'magas', 'date':'110217'},
  12. {'name':'ivan', 'date':'170518'},
  13. {'name':'maxim', 'date':'110217'}]
  14.  
  15. dates = [dct['date'] for dct in types]
  16. names = list(set([dct['name'] for dct in user_list]))
  17.  
  18.  
  19. goodusers = []
  20. for name in names:
  21. res = []
  22. for u in user_list:
  23. if u['name']==name and u['date'] in dates:
  24. res.append(u)
  25. if len(res)>1:
  26. goodusers += res
  27.  
  28. print(goodusers)
  29.  
  30. from itertools import groupby
  31.  
  32. dates = [dct['date'] for dct in types]
  33. # фильтруем по совпадению дат
  34. users = (d for d in user_list if d['date'] in dates)
  35. # сортируем, для работы функции группировки
  36. users = sorted(users, key=lambda u: u['name'])
  37.  
  38. double_users = []
  39. for _, u in groupby(users, key=lambda u: u['name']):
  40. pool = tuple(u)
  41. if len(pool) > 1:
  42. double_users += pool
  43. print(double_users)
Add Comment
Please, Sign In to add comment