Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def grouping(group):
- # if len(group) < 2 - then it is either empty, or has one element and there is nothing to group
- if len(group)<2:
- return False, group, []
- trigger = False
- group_list = []
- no_pair = []
- for i in range(len(group)):
- has_no_pair = True
- for k in range(len(group)):
- if i != k:
- test = set(group[i]).isdisjoint(group[k])
- if not test:
- trigger = True
- has_no_pair = False
- new_group = set(group[i]|group[k])
- if not new_group in group_list:
- group_list.append(new_group)
- if has_no_pair:
- no_pair.append(group[i])
- return trigger, no_pair, group_list
- loner_list = []
- trigger = True
- while trigger:
- trigger, no_pair, new_group = grouping(new_group)
- loner_list = loner_list + no_pair
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement