某些简单的生成器可以写成简洁的表达式代码,所用语法类似列表推导式,但外层为圆括号而非方括号。 这种表达式被设计用于生成器将立即被外层函数所使用的情况,生成器表达式相比完整的生成器更紧凑但较不灵活,相比等效的列表推导式则更为节省内存,实例如下:
>>> unique_words = set(word for line in page for word in line.split()) >>> valedictorian = max((student.gpa, student.name) for student in graduates)