我有两个python字典,它们的结构是defaultdict,遵循以下格式{string:set(字符串)}。 具体如下:
mnAdjacency = {mnID: set(mnIDs)}
#example- {'D01.021.123':set(['D01','D01.021'], 'G11.456':set(['G11']))
mn2ui = {mnID: set(dUI, cUI)}
#example- {'D01.021.123':set(['D00005', 'C000023']), 'G11.456':set(['D89456', 'C00456'])}
我试图将邻接列表的键和值映射到同义词列表的键和值,同时保留邻接列表的关联。它保存在一本词典中,以后用于输出。本词典如下:
meshTerm = {dUI: {'name': 'string','edges': [('is_part_of', 'dUI')]}}
#example- {'D00005': {'name': 'bike','edges': [('is_a', 'D00004')]}, 'C00002': {'name': 'car','edges': [('is_a', 'D00004)]}}
我当前的代码试图将所有内容都保存在内存中,它会占用内存,从而导致Kill:9
邻接列表为mnAdjacency,同义词列表为mn2ui。 meshTerm[ui]['edges']是一个defaultdict(dict),它为每个ui存储各种属性
for leaf, branches in mnAdjacency.iteritems():
for branch in branches:
startNodes = mn2ui[leaf]
endNodes = mn2ui[branch]
for start in startNodes:
for end in endNodes:
meshTerm[start]['edges'].append(('is_a', end))
输出将是向meshTerm字典添加关系元组('is_a',dUI)
一定有更聪明的方法来解决这个问题,但我认为我的googlefoo让我失望了
目前没有回答
相关问题 更多 >
编程相关推荐