Use 2.3's itertools: foo = [i for i in itertools.takewhile(lambda i: len(i) > 0, bar)] or maybe foo = list(itertools.takewhile(len, bar)] or even foo = itertools.takewhile(len, bar) # an iterable, not a list Jeff