我有这样的嵌套:
[5, 6], [5, 4], [5, 8], [2, 6], [6, 8], [1, 3]
我想要的是一个列表,其中包含由重复元素连接的唯一元素,如下所示:
[2, 6, 8], [1, 3]
和
[5, 6], [5, 4], [5, 8]
这样:
[5, [6, 4, 8]]
总体结果应如下所示:
[[5, [6, 4, 8]], [2, 6, 8], [1, 3]]
我尝试做的是使用网站上this问题的以下算法
pairs_to_link = [[5, 6], [5, 4], [5, 8], [2, 6], [6, 8], [1, 3]]
dict_mapping = dict(pairs_to_link)
final_list = []
for link in dict_mapping.keys() - dict_mapping.values():
links = [link]
while link in dict_mapping:
link = dict_mapping[link]
links.append(link)
final_list.append(links)
print(final_list)
OUTPUT: [[1, 3], [2, 6, 8], [5, 8]]
它确实删除了重复项并且还链接了它们,但不是以我想要的“树”方式链接它,即它仅适用于[1,3],[2,6],[6,8]
使其像[1,3],[2,6,8]