Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. D = {}
  2. D['name'] = [1, 2, 5, 4, 2, 1, 6]
  3. D['name_1'] = [1, 1, 1, 1]
  4. D['name_2'] = [2, 1]
  5. D['name_3'] = [1, 4]
  6.  
  7. def get_score(Dict):
  8.   final_score = 0.
  9.   mini_seq = 0
  10.   for key_, list_ in Dict.items():
  11.     cur_list = list_
  12.     cur_list.sort()
  13.     len_ = len(cur_list)
  14.    
  15.     if (len_ <= 1):
  16.       mini_seq += 1
  17.       continue
  18.    
  19.     new_list = [0] * len_
  20.     cur_cl = -1
  21.     cur_cnt = 0
  22.     cur_ptr = -1
  23.     for j in range(len_):
  24.       if (j == 0):
  25.         cur_cl = cur_list[j]
  26.         cur_cnt = 1
  27.         cur_ptr = 0
  28.       else:
  29.         if (cur_list[j] == cur_cl):
  30.           cur_cnt += 1
  31.         else:
  32.           new_list[cur_ptr] = cur_cnt
  33.           cur_cl = cur_list[j]
  34.           cur_cnt = 1
  35.           cur_ptr += 1
  36.     new_list[cur_ptr] = cur_cnt
  37.    
  38.     cur_score = 0.
  39.    
  40.     for el in new_list:
  41.       cur_score += (len_ - el)**2
  42.     cur_score /= (len_ - 1) * len_ * len_
  43.      
  44. #     print(cur_score)
  45.    
  46.     final_score += cur_score
  47.  
  48.   if (len(Dict.keys()) == mini_seq):
  49.     return 0.
  50.   final_score /= (len(Dict.keys()) - mini_seq)
  51.   return final_score
  52.  
  53. print(get_score(D))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement