python生成器和列表生成器的区别

如下,是在实际开发中遇到的一个问题。
因此:
1. 能用列表生成式就不用圆括号的生成式
2. 用filter的时候,尽量加个list转一下

# 生成器表达式中, in 子句在声明时执行, 而条件子句则是在运行时执行。
array = [1, 3, 5]
# 1,3,5
g1 = [x for x in array if array.count(x) > 0]
# 1,3,5
g2 = {x for x in array if array.count(x) > 0}
# 5
g3 = (x for x in array if array.count(x) > 0)
# 1,3,5
# g3 = (x for x in array)
# 1,3,5
_g3 = list((x for x in array if array.count(x) > 0))
# 5
g4 = filter(lambda x: array.count(x) > 0, array)
# 1,3,5
g5 = list(filter(lambda x: array.count(x) > 0, array))
array = [5, 7, 9]
print(list(g1), list(g2), list(g3), list(_g3), list(g4), g5)
posted @   umbrella~  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示