python中的多维字典

时间:2016-04-14 05:06:53

标签: python python-2.7 python-3.x dictionary

#!/usr/bin/python

import sys
from collections import defaultdict
from collections import Counter

new_dic_defaultdict = defaultdict(dict)
#new_dic_defaultdict = defaultdict(int)

file="SMSCDR_POSTPAID_150901235000_10.84.0.29_AS.log"

fp=open(file,"r")
str = fp.readlines();

for line in str:
        array = line.split('|')
        system_id = array[55]
        Origin = array[12]
        TIME = array[0]
        message_id = array[62]
        new_dic_defaultdict[Origin][system_id] = new_dic_defaultdict[Origin].setdefault(system_id, 0) + 1;

print new_dic_defaultdict

这里我可以写二维目录。如果我添加第三维它不起作用。

Ex: new_dic_defaultdict[Origin][system_id][message_id] = new_dic_defaultdict[Origin][system_id].setdefault(message_id, 0) + 1;

如何解决这个问题

1 个答案:

答案 0 :(得分:0)

你可以像这样使用defaultdict:

new_dic_defaultdict = defaultdict(lambda: defaultdict(int))