生成器表达式返回一个迭代器。通过简单的语法可以很方便的进行list的查找和生成。
激动啊。
参考代码:
代码语言:javascript复制#搜索
name_list = ["yinzihao", "dazhu", "zhh"]
result = list(x for x in name_list if len(x) <= 3 or x.startswith('y'))
print(result)
#修改返回值
result = list(x*x for x in range(3))
print(result)
#生成点阵也很简单
result = list((x,y) for x in range(3) for y in range(3))
print(result)
顺带一说,生成器也是可以嵌套的。
再顺带一说,python还提供类似于linq的功能:
https://github.com/heynemann/pynq/wiki