>>> res = [[None,'A','B'],[19980228, 'd1', 't1'],[19980302, 'd2', 't2'],[19980303, 'd3', 't3']]
>>> {a:[(r[0], r[i]) for r in res[1:]] for i, a in enumerate(res[0]) if a}
{'A': [(19980228, 'd1'), (19980302, 'd2'), (19980303, 'd3')], 'B': [(19980228, 't1'), (19980302, 't2'), (19980303, 't3')]}
注:@shuzOMGchenが指摘しているように、これにはpython 2.7および3.0で追加された「辞書内包表記」が必要です。したがって、以前のバージョンを使用している場合は、コードを少し変更する必要があります。ここでは、dictの理解を使用していません(かなり醜いです、私は上からロジックをコピーしようとしました)
>>> res = [[None,'A','B'],[19980228, 'd1', 't1'],[19980302, 'd2', 't2'],[19980303, 'd3', 't3']]
>>> d = {}
>>> for i, a in enumerate(res[0]):
... if a:
... d[a] = [(r[0], r[i]) for r in res[1:]]
...
>>> d
{'A': [(19980228, 'd1'), (19980302, 'd2'), (19980303, 'd3')], 'B': [(19980228, 't1'), (19980302, 't2'), (19980303, 't3')]}