Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. >>> print init_treats
  2. {('001', 0): init_treat_001_0, ('001', 3): init_treat_001_3, ('001', 2): init_treat_001_2, ('002', 0): init_treat_002_0, ('002', 1): init_treat_002_1, ('002', 2): init_treat_002_2, ('002', 3): init_treat_002_3, ('001', 1): init_treat_001_1}
  3.  
  4. >>> print init_untreats
  5. {'002': init_untreat_002, '001': init_untreat_001}
  6.  
  7. init_treat_001_0 + init_treat_001_1 + init_treat_001_2 + init_treat_001_3 +
  8. init_untreat_001 == 0
  9.  
  10.  
  11. init_treat_002_0 + init_treat_002_1 + init_treat_002_2 + init_treat_002_3 +
  12. init_untreat_002 == 0
  13.  
  14. treats = sorted(init_treats)
  15.  
  16. from itertools import groupby
  17. from operator import itemgetter
  18.  
  19. for untreat, group in groupby(sorted(init_treats), itemgetter(0)):
  20. # group is now a sorted iterator of keys with the same first value
  21. if init_untreat[untreat] + sum(map(init_treats.get, group)) == 0:
  22. # sum of init_treat_n_m + init_untreat_n is 0
  23.  
  24. sums = init_untreat.copy()
  25. for untreat, id in init_treats:
  26. sums[untreat] += init_treats[untreat, id]
  27.  
  28. for untreat, total in sums.items(): # use sums.iteritems() in Python 2
  29. if total == 0:
  30. # sum of init_treat_n_m + init_untreat_n is 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement