列表推导与生成器
您在视频中已经看到,列表推导式和生成器表达式在语法上非常相似,主要区别是生成器表达式使用圆括号 (),而列表推导式使用方括号 []。
在本练习中,您将回顾列表推导式与生成器的区别。为便于操作,环境中已预加载以下代码:
# List of strings
fellowship = ['frodo', 'samwise', 'merry', 'aragorn', 'legolas', 'boromir', 'gimli']
# List comprehension
fellow1 = [member for member in fellowship if len(member) >= 7]
# Generator expression
fellow2 = (member for member in fellowship if len(member) >= 7)
请尝试对 fellow1 和 fellow2 做一些实验,例如查看它们的类型并打印它们的值。根据您的观察以及您对视频内容的回忆,从下方选项中选择对列表推导式与生成器差异的最佳描述。
本练习是课程的一部分
