itertools.groupby is superior solution, but to answer OP-s original question ('What goes here?')
>>> lst = ['visit', 'houston', 'and', 'san', 'antonio', 'and', 'austin', 'and', 'corpus', 'christi'] >>> indexes = [i for i, v in enumerate(lst) if v == 'and'] >>> result = [] >>> start = 1 >>> for i in indexes: ... result.append(lst[start:i]) ... start = i + 1 ... else: ... result.append(lst[start:]) ... >>> print(result) [['houston'], ['san', 'antonio'], ['austin'], ['corpus', 'christi']]
I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy
Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame.
Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame.