from itertools import repeat
d = {}
for x in [('a', 'd', 'z', 'x'), ('b', 'e ', 'k', 'l'), ('b', 'e', 'm', 'n'), ('c', 'f', 'g', 'h'), ('c', 'f', 'y', 'w')]:
d.setdefault(x[:2], {}).update(zip(x, repeat(None)))
print([list(v.keys()) for v in d.values()])
x[:2]
for tuple(map(str.strip, x[:2]))
>>> from collections import defaultdict
>>> d = defaultdict(tuple)
>>> for i in your_list:
d[i[:2]] += i[2:]
>>> result = [i + d[i] for i in d]
Find more questions by tags Python