Python 搜索字典以获取每个键的完整路径

Python 搜索字典以获取每个键的完整路径,python,loops,dictionary,key,key-value,Python,Loops,Dictionary,Key,Key Value,我正在尝试为字典中的键建立一个完整的路径 字典是在键都是唯一的但值不是唯一的情况下构建的 mydict={'12345':'11','45678':'11','11':'2','2','6','6','6','789','2'} 我要做的是获取每个键的完整路径,直到key==值,其中输出的文件如下所示: 12345, 11, 2, 6 45678, 11, 2, 6 11, 2, 6 2, 6 6 789, 2, 6 我可以搜索字典一次以获得第一个值,但我不知道如何将该值用作下一个键

我正在尝试为字典中的键建立一个完整的路径

字典是在键都是唯一的但值不是唯一的情况下构建的

mydict={'12345':'11','45678':'11','11':'2','2','6','6','6','789','2'}

我要做的是获取每个键的完整路径,直到key==值,其中输出的文件如下所示:

12345, 11, 2, 6

45678, 11, 2, 6

11, 2, 6

2, 6

6

789, 2, 6
我可以搜索字典一次以获得第一个值,但我不知道如何将该值用作下一个键搜索并保持所有关联正确。字典仅为整数,键按数字顺序排列。

这应该可以做到:

In [53]: mydict = {'12345': '11', '45678': '11', '11': '2', '2': '6', '6': '6', '789': '2'}

In [54]: answer = []

In [55]: for key in mydict:
   ....:     path = [key]
   ....:     while mydict[key] != key:
   ....:         key = mydict[key]
   ....:         path.append(key)
   ....:     answer.append(path)
   ....:     

In [56]: answer
Out[56]: 
[['11', '2', '6'],
 ['789', '2', '6'],
 ['45678', '11', '2', '6'],
 ['2', '6'],
 ['6'],
 ['12345', '11', '2', '6']]

“字典只有整数”-你发布的字典有字符串,而不是整数。此外,字典不是经过排序的集合,因此不能按数字顺序排列键。并且不要使用
dict
作为变量名-它会覆盖内置类型。非常简单…作为提示,请尝试使用
while key!=dict[键]
。另外,避免将dict作为变量名,因为它是内置的。谢谢,这正是我需要的!