如何将具有重复元素的列表转换为没有链接列表?

时间:2016-07-07 15:42:22

标签: python python-3.x

我有这样的嵌套:

[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]

一样

0 个答案:

没有答案