【发布时间】:2019-03-29 05:47:38
【问题描述】:
我需要帮助来遍历字典。这可能不是那么明智的做法,但我需要尝试。
我有一个这样的字典:
{'a': 'b',
'b': 'c',
'c': 'd',
'm':'n',
'p':'r',
'r': 't'}
我需要什么作为输出,可以是字典或数据框:
'a' : ['b', 'c', 'd'],
'b' : ['c', 'd'],
'c': ['d'],
'm': ['n'],
'p': ['r', 't'],
'r': ['t']
我试过了:
dict_output = {}
for k, v in my_dict.items():
lista = []
for ki, va in my_dict.items():
if v in ki:
lista.append(va)
dict_l.update({k:lista})
但这只是迭代一次,我不知道如何重新迭代直到链断裂。
【问题讨论】:
-
字典不是按顺序排列的。您期望的输出假定在迭代时看到项目的特定顺序。
-
@Abhishek 从数据框中这样做更好吗?我从 df 中的两列创建了这本字典
-
这是一个图遍历问题。
dict不是一个很好的代表,尽管它并不可怕。但是,您可以使用graph包。至少查找“Python 图”和通用图遍历算法,为您提供所需的工具。
标签: python loops dictionary iteration