递归地遍历和操作dict/list/tuple树
pywalk的Python项目详细描述
pywalk是一个python模块,用于遍历由 字典、列表和元组以广度优先的方式
这个模块还在开发中。如果你习惯了成熟, 您可能希望避免pywalk的优化python库。另外,它 只在Python2.7.1+上测试过 我的电脑)因此它可能无法在Python3.x中正常工作。 你是一个更具冒险精神的开发人员,对 操作嵌套的数据结构,这可能是 你!
皮沃克是一个精神港口 js-traverse在这里 旨在解决类似问题
工作原理:
walk(tree)返回一个decorator,该decorator将回调应用于每个节点 在树上,以宽度优先的方式例如:
tree = {'a': 1, 'b': [9, 9, 6, 7, 6]} print("Tree before: "+repr(tree)) @walk(tree) def that_aint_my_zip_code(node): if node.value == [9, 9, 6, 7, 6] : node.set([9, 9, 7, 7, 5]) print("Tree after: "+repr(tree))