list_of_tuples = [(number, name, id, parent_id),
(number, name, id, parent_id),
]
내가 좋아하는 정렬 된 구조로 정렬 노력하고 같은 튜플의 목록을 가지고 로 :
tree = defaultdict(lambda: [None,()])
ancestors = set([item[3] for item in list_of_tuples])
for items in list_of_tuples:
children_root = {}
descendants = []
number, name, id, parent = items
if parent is None:
tree[id] = [(id, name)]
elif parent:
if parent not in tree.keys():
node = tree.get(parent)
node.append((id, name))
children = (id, name)
tree[parent].append(children)
그러나 노드가 부모와 자녀
모두를 가질 때 나는 깊은 계층을 잃고주문 작업을 올바르게 수행하려면 어떻게해야합니까?
것은, 이것은 단순히 문제 –
이유는 단지 키 = ID로 DICT을하지 않을 수 있습니다. – stark
당신이 목표로 삼고있는 구조는 약간 특이합니다. 일반적으로 트리 노드에는 부모가 아닌 자식에 대한 정보가 있습니다. 또한 어떤 정보가 특정 노드 (tree/_dict_에있는 것처럼)와 관련이 있습니까? _신분증_? _이름_? 하지만 _number_ 아닌가요? – CristiFati