def dictify(data):
result = dict()
for key, value in data:
if key in result:
result[key].add(value)
else:
result[key] = set([value])
return result
Пример
>>> data
[(0, 1), (0, 2), (0, 6), (0, 7), (1, 0), (1, 2), (2, 1), (2, 0), (3, 4), (3, 5), (4, 3), (5, 3), (6, 0), (7, 0)]
>>> dictify(data)
{0: {1, 2, 6, 7},
1: {0, 2},
2: {0, 1},
3: {4, 5},
4: {3},
5: {3},
6: {0},
7: {0}}
Этого также можно добиться с помощью collections.defaultdict
from collections import defaultdict
def dictify(data):
result = defaultdict(set)
for key, value in data:
result[key].add(value)
return result