Advertisement
mirovlad

get_deepest_parents.py

Nov 13th, 2022
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.21 KB | None | 0 0
  1. def get_deepest_parents(self, acc):
  2.     all_children = self.get_all_children(acc)  # Всичко под acc
  3.     leaves = self.get_leaves()  # Всички листа на цялото дърво
  4.     # Сечението между all_children и leaves ще даде листата,
  5.     # които са под зададената сметка acc
  6.     # Сечението го взех от https://stackoverflow.com/questions/2864842/common-elements-comparison-between-2-lists
  7.     # Отговорът там не е отбелязан със зелена чавка,
  8.     # но съвпада с обясненията в други източници
  9.     leaves_under_acc = list(set(all_children).intersection(leaves))
  10.    
  11.     # Остава минем през всяко листо в leaves_under_acc и да му вземем родителя
  12.     deepest_parents = []  # Тук ще трупаме родителите на листата
  13.     for leaf in leaves_under_acc:
  14.         parent = self.get_parent(leaf)  # родител на листото
  15.         if parent not in deepest_parents:  # избягваме повторения
  16.             deepest_parents.append(parent)  # добавяме родителя на листото
  17.            
  18.     return deepest_parents
  19.    
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement