eltneg

decision_tree_nl

May 7th, 2018
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.66 KB | None | 0 0
  1. from itertools import combinations
  2.  
  3. def dec_tree(digit):
  4.     res = []
  5.     lst = tuple(x for x in range(digit))
  6.     res.append(lst)
  7.     while len(min(res)) != 1:
  8.         new_list = []
  9.         for item in res:
  10.             new_list.extend(combinations(item, len(min(res)) - 1))
  11.         res.extend(new_list)
  12.     return sorted([list(x) for x in set(sorted(res))])
  13.    
  14. assert dec_tree(2) == sorted([[0], [1], [0,1]])
  15. assert dec_tree(3) == sorted([[0], [1], [2], [0,1], [0,2], [1,2], [0,1,2]])
  16. assert dec_tree(4) == sorted(
  17.     [[0], [1], [2], [3], [0, 1], [0, 2], [0, 3], [1, 2],
  18.     [1, 3], [2, 3], [0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 2, 3], [0, 1, 2, 3]])
Advertisement
Add Comment
Please, Sign In to add comment