a = [x for x in itertools.ifilter(lambda x: x!="", a)]
ってやっちゃったら、当然中間生成物(?)ができますよね。