まず以下のような辞書型があったとします。

xdic={sub1:{(0,A),(1,C),(0,B),(1,D)}, sub2:{(0,A),(2,C),(1,B),(3,D)}}

これを(key毎に)値の第一引数で分け、key名を先頭にしたリストにまとめる方法が分かりません。

つまり

key:sub1について
0を引数にまとめる:(sub1,A,B)
1を引数にまとめる:(sub1,C,D)

key:sub2について
0を引数にまとめる:(sub2,A)
1を引数にまとめる:(sub2,B)
2を引数にまとめる:(sub2,C)
3を引数にまとめる:(sub2,D)

この様なアウトプットを求めています。

環境はpython2.7です。分かる方何卒宜しくお願いいたします。