[英]Modify a tuple list to one showing its hierarchy
我有一个元组列表如下:
my_lists = [("a",["c","d","e"]),("c",["f","g"]),("d",["h"]),("h",["w","n"]),("n",["k"])]
该列表具有每个元组的第一个元素显示的级别,它们应该合并到表示其层次结构的元组列表中,如下所示:
result = [("a", [ ("c", ["f","g"]), ("d", [("h", ["w", ("n", ["k"] )] )] ) ,"e"])]
有什么办法吗?
如果可能的话,最好找到一种方法来返回给定字母的深度级别。
"a" depth level: 5 (the highest)
"d" depth level: 2
"k" depth level: 0 (the lowest)
尝试这个:
my_lists = [("a",["c","d","e"]),("c",["f","g"]),("d",["h"]),("h",["w","n"]),("n",["k"])]
abc = {}
for key, value in my_lists[::-1]:
new_value = []
for v in value:
new_value.append(abc.get(v, v))
abc[key] = (key, new_value)
result = [abc[my_lists[0][0]]]
print(result)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.