我分析了一个庞大的书目记录数据库(大约2000万条记录)。著录者描述了每一个著录字段的一组唯一的关键字和记录。例如,典型的书目记录如下:
ID: 001
Author: author1
Author: author2
Term: term1
Term: term2
首先,我创建两个defaultdict
来存储作者和术语:
接下来,我填充作者:
d1['id001'] = ['author1', 'author2']
d1['id002'] = ['author3']
d1['id003'] = ['author1', 'author4']
和关键字:
d2['id001'] = ['term1', 'term2']
d2['id002'] = ['term2', 'term3']
d2['id003'] = ['term4']
问题是如何将这两个字典连接起来,以获取直接链接作者和术语的数据对象:
author1|term1,term2,term4
author2|term1,term2
author3|term2,term3
author4|term4
我有两个问题:
这是一种方法。注意,如下所示,您不需要在初始步骤中使用嵌套字典或
defaultdict
。在这些问题的关键是如何在现有词典的基础上,建立“适当导向”的临时词典。一旦这样做了,它就更清晰了(由于正确的dict查找,复杂性是很好的)
我的解决方案是:
首先从
d1
创建dict author=>;ids。在然后创建结果(dict author=>;terms)。在已创建的author=>;ids dict中循环,并用
d2
的展平值填充结果。在结果:
^{pr2}$相关问题 更多 >
编程相关推荐