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

标签 python loops dictionary key key-value

我正在尝试为字典中的键构建完整路径。

构建字典时,键都是唯一的,但值不是唯一的。

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

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

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

关于python - 搜索字典以获取每个键的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15083918/

相关文章:

python - 在迭代数据帧时创建字典的方法

python - App Engine 单元测试 : ImportError: Start directory is not importable

c - 为什么循环没有停止?

ios - Swift 中的非可选类型不应该包含可选类型吗?

python - 以更快/更好的方式从列表中查找具有最接近值的字典

javascript - Django 向用户显示上传正在进行中

循环内的 JavaScript 闭包——简单实用的示例

python - 如何使用Python将csv行循环到selenium元素?

python - 将 csv 文件转换为字典列表

python - 在python中以特定顺序读取文件