我已经从excel数据中生成了一个key:value对,现在我想将key:value对存储在树形结构中。由于字典失去顺序,我将所有键存储在单独的数据框中,以获取树生成的顺序。
以下是示例数据:
key_value_dict = {(key3:value),(key2:value),(key4:value),(key1:value),(key5:value),..}
df_all_keys_inOrder = [key1,key2,key3,key1,key4,key5,key1,key2,key6,..]
for i in df_all_keys_inOrder.index:
for key, value in key_value_dict.iteritems():
if df_all_keys_inOrder[i] == key:
if i == 0:
root = Node((key,value))
leaf = root
else:
leaf = Node((key,value), parent= leaf)
此代码的问题是:当再次涉及根节点(key)1时,不是创建根节点的子代,而是使用key1创建了一个新节点。 生成的树应类似于:https://i.stack.imgur.com/tN7em.png