python 字典套字典或列表

python 字典套字典或列表

文件f1

A 1 a
A 1 b
A 2 C
B 2 a
B 2 b

生成如下字典
tdict={'A':{1:['a','b'], 2:['C']}, 'B':{2:['a','b']} }

In [22]: tdict={}


In [23]: f=open('f1')


In [24]: while True:
    ...:     line=f.readline().strip()
    ...:     if not line:
    ...:         break
    ...:     pos1=line.split()[0]
    ...:     pos2=line.split()[1]
    ...:     pos3=line.split()[2]
    ...:     if pos1 not in tdict:
    ...:         tdict[pos1]={}
    ...:         tdict[pos1][pos2]=[pos3]
    ...:     else:
    ...:         if pos2 not in tdict[pos1]:
    ...:             tdict[pos1][pos2]=[pos3]
    ...:         else:
    ...:             tdict[pos1][pos2].append(pos3)
    ...:


In [25]: f.close()


In [26]: tdict
Out[26]: {'A': {'1': ['a', 'b'], '2': ['C']}, 'B': {'2': ['a', 'b']}}

In [27]: tdict['B']['2']
Out[27]: ['a', 'b']



你可能感兴趣的:(python)