The example output is almost certainly impractical; if we have data of the same kind, put it in a list. Here's one crude example:
>>> d_int = defaultdict(type, {0: [1,2,3,4,5], 1: [6,7,8,9,10], 2: [11,12,13,14,15]})
>>> list(zip(*(v for k,v in sorted(d_int.items()))))
[(1, 6, 11), (2, 7, 12), (3, 8, 13), (4, 9, 14), (5, 10, 15)]
The steps are as follows: items
extracts key,value
pairs from the dictionary. sorted
then sorts them by key, the v for k,v in
generator expression discards the keys, *
distributes the values as individual arguments to zip
which transposes them. Finally, list
builds a list from the zip object (which is iterable).