A genexp is a convenient way to make a generator.
larkin_poems = ['church going', 'the whitsun weddings', 'an arundel tomb', 'aubade']
title = (poem.title() for poem in larkin_poems)
print(next(title))
print(next(title))
print(next(title))
Build sets and dicts without building intermediate lists.
a = set(char for char in 'Loveliest of trees, the cherry now')
b = dict((x, x**2) for x in range(9))
Sometimes avoiding the intermediate lists can save significant amounts of memory (relative to listcomps).
sum_listcomp = sum([x*x for x in range(10000000)])
sum_genexp = sum(x*x for x in range(10000000))