Понимание словаря должно работать:
f = {1:{-1:{'a': 1, 'b': 2}, 0:{'a': 3, 'b': 4}, 1:{'a': 5, 'b': 6}},
2:{-2:{'a': 7, 'b': 8}, -1:{'a': 9, 'b': 10}, 0:{'a': 11, 'b': 12}, 1:{'a': 13, 'b': 14}, 2:{'a': 15, 'b': 16}}}
d = { (a,b,c):v for a,da in f.items() for b,db in da.items() for c,v in db.items()}
результат:
for k,v in d.items(): print(k,":",v)
(1, -1, 'a') : 1
(1, -1, 'b') : 2
(1, 0, 'a') : 3
(1, 0, 'b') : 4
(1, 1, 'a') : 5
(1, 1, 'b') : 6
(2, -2, 'a') : 7
(2, -2, 'b') : 8
(2, -1, 'a') : 9
(2, -1, 'b') : 10
(2, 0, 'a') : 11
(2, 0, 'b') : 12
(2, 1, 'a') : 13
(2, 1, 'b') : 14
(2, 2, 'a') : 15
(2, 2, 'b') : 16
d[2,-1,'b'] # --> 10