繁体   English   中英

使用图形将嵌套列表转换为字典

[英]Converting nested list to dictionary by using graph

我想要我的嵌套列表[['A','B'],['G','H'],['A','G'],['H','K'],['K','F'],['F','X'],['G','X'],['B','K']]

转换成

{A:[B,G], B:[K,A], G:[A,H,X], H:[K,G], K:[B,H,F],F:[K,X],X:[F,G]}

我能怎么做?

解释:我意识到,由于这是一个图关系,我们需要反转列表以不仅考虑 A->B 的连接,例如,还考虑 B->A。

因此,我们添加每个列表中的所有第一个元素(例如 ['A','B'] 中的第一个字母作为键以及反转列表的键,然后我们将值设为空列表首先是这些键。

之后,我们通过正则列表和反向列表 go 得到每对字母之间的所有关系,并将它们附加到值中的列表中。

这是我的尝试:

li = [['A','B'],['G','H'],['A','G'],['H','K'],['K','F'],['F','X'],['G','X'],['B','K']] 

rev_li = [[s[1],s[0]] for s in li]


keyset = []
new_dict = {}
for element in li:
    new_dict[element[0]] = []

for element in rev_li:
    new_dict[element[0]] = []

for element in li:
    new_dict[element[0]].append(element[1])

for element in rev_li:
    new_dict[element[0]].append(element[1])



print(new_dict)

Output:

{'A': ['B', 'G'], 'G': ['H', 'X', 'A'], 'H': ['K', 'G'], 'K': ['F', 'H', 'B'], 'F': ['X', 'K'], 'B': ['K', 'A'], 'X': ['F', 'G']}

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM