Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.92 KB | None | 0 0
  1. def grouping(group):
  2.     # if len(group) < 2 - then it is either empty, or has one element and there is nothing to group
  3.     if len(group)<2:
  4.         return False, group, []
  5.     trigger = False
  6.     group_list = []
  7.     no_pair = []
  8.     for i in range(len(group)):
  9.         has_no_pair = True
  10.         for k in range(len(group)):
  11.             if i != k:
  12.                 test = set(group[i]).isdisjoint(group[k])
  13.                 if not test:
  14.                     trigger = True
  15.                     has_no_pair = False
  16.                     new_group = set(group[i]|group[k])
  17.                     if not new_group in group_list:
  18.                         group_list.append(new_group)
  19.         if has_no_pair:
  20.             no_pair.append(group[i])
  21.     return trigger, no_pair, group_list
  22.  
  23. loner_list = []
  24. trigger = True
  25. while trigger:
  26.     trigger, no_pair, new_group = grouping(new_group)
  27.     loner_list = loner_list + no_pair
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement