- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
继续我的老问题: Writing nested dictionary (forest) of a huge depth to a text file
现在我想把森林遍历写成BFS风格:我有一个巨大的深度字典,代表森林(许多非二叉树),我想处理森林并创建一个文本文件,其中包含来自森林的(父亲,儿子)关系序列,即给定字典:
{'a': {'b': {'c': {'x': {}}, 'd': {'p': {}}}, 'g': {}, 'f': {}},
't': {'r': {'o': {}}, 'y': {}}}
生成的文本文件如下所示:
(ROOT,b) (ROOT,g) (ROOT,f) (b,c) (b,d) (c,x) (d,p) \n
(ROOT,r) (ROOT,y) (r,o) \n
请注意,我用“ROOT”一词替换了森林中的所有根。
嵌套字典很大,递归地迭代它会导致内存运行时错误,因此最好使用此问题开头链接中的“生成器样式”解决方案。
最佳答案
d = {'a': {'b': {'c': {'x': {}}, 'd': {'p': {}}}, 'g': {}, 'f': {}}, 't': {'r': {'o': {}}, 'y': {}}}
with open('file', 'w') as f:
for r, s in d.items():
q = []
p = r
while True:
for k, v in s.items():
f.write('(%s,%s) ' % ('ROOT' if p == r else p, k))
if v:
q.append((k, v))
if not q:
break
p, s = q.pop(0)
f.write('\n')
这个输出:
(ROOT,b) (ROOT,g) (ROOT,f) (b,c) (b,d) (c,x) (d,p)
(ROOT,r) (ROOT,y) (r,o)
关于python - 将深度很大的嵌套字典(森林)写入 BFS 样式的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52060788/
我们正在运行 MarkLogic 9.0-11 版本 3 节点集群,并且 MarkLogic 安装在“/var/opt/MarkLogic/”目录中,我们创建了“/var/opt/MarkLogic/
我有一片任意高度的森林,大致像这样: let data = [ { "id": 2, "name": "AAA", "parent_id": null, "short_name": "A" },
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 7 年前。 Improve
我有一个巨大的深度字典,代表森林(许多非二叉树),我想处理森林并创建一个包含森林所有可能关系的文本文件,例如给定字典: {'a': {'b': {'c': {}, 'd': {}}, 'g': {}}
在我的 Android 应用程序中,我包含了谷歌地图。现在我想获取有关您周围地区的信息。例如,你是在公园/森林/海滩……所以我基本上想要一个用“水”回答输入坐标 53°33'40.9"N 10°00'
如果我有下表: Member_Key Member_Name col1 Mem1 col2 Mem2 col3 Mem3 col4
继续我的老问题: Writing nested dictionary (forest) of a huge depth to a text file 现在我想把森林遍历写成BFS风格:我有一个巨大的深
我有一个多域环境(事件目录林),例如subdomain1.mydomain.com, subdomain2.mydomain.com 其中 mydomain.com 是根 AD 域 (GC) 和 su
我想知道是否有可能在 Google map 或 Bing Mag 2D/3D map 上恢复地形类型(山脉、森林、水域、平原等...) 。为了根据玩家在现实世界中的位置生成 map !我认为可用 AP
我是一名优秀的程序员,十分优秀!