from itertools import groupby
init = ['a', 'b', '', 'c', 'd e', 'fgh', '', 'ij', '', '', 'k', 'l', '']
[tuple(g) for valid, g in groupby(init, key=lambda x: len(x) != 0) if valid]
Splitting a list into uneven tuples