对于行存在重复的文件,如
A B 0.5
A C 0.5
B D 0.3
B E 0.7
希望得到如下的字典:
dict = {A :{B:0.5,C:0.5},B:{D:0.3,E:0.7}}
可以用如下的方式实现:
def get_dict(fn)
with open(fn) as f:
weight = {}
for eachline in f:
k,v,w = eachline.strip().split('\t')
if weight.has_key(k):
weight[k].update({v:w})
else:
weight[k] = {v:w}
return weight
方法比较笨,每读一行数据都要查下字典,如果你有更好的方法,望不吝赐教,谢谢!