【发布时间】:2019-05-16 00:56:15
【问题描述】:
我正在尝试操作嵌套字典以将任何嵌套字典的键向后组合,只有一个键。
我尝试以递归方式执行此操作,但我很难从字典中删除键并将它们替换为连接的键。
例如:
{'adv':
{'e':
{'r':
{
's':
{'e':
{'_end_': '_end_'}
},
't':
{'_end_': '_end_',
'i':
{'s':
{'e':
{'r':
{'_end_': '_end_'}
}
}
}
}
}
},
'i': {'c': {'e': {'_end_': '_end_'}
}
}
}
}
会变成
{'adv':
{'er':
{
'se':
{'_end_': '_end_'},
't':
{'_end_': '_end_',
'iser':
{'_end_': '_end_'}
}
},
'ice':
{'_end_': '_end_'}
}
}
【问题讨论】:
-
我不完全理解您对问题的解释,但我觉得您应该先查看zip()。
-
_end_键是否得到特殊处理?似乎最终对象都有一个键,如果您向后工作,应该与它们的父对象结合? -
end 键只是表示单词的结尾。它应该与任何其他键/值一样对待。
-
请解释所需输出背后的基本原理。算法,一步一步来
-
如果
_end_的处理方式相同,为什么它没有连接到您想要的输出中的父级。它通过了作为单键字典的测试。
标签: python python-3.x dictionary