为了账号安全,请及时绑定邮箱和手机立即绑定

Python中的条件过滤语句执行顺序?

Python中的条件过滤语句执行顺序?

秋水丶 2016-05-21 11:33:42
列表生成式的 for 循环后面还可以加上 if 判断。例如: >>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 如果我们只想要偶数的平方,不改动 range()的情况下,可以加上 if 来筛选: >>> [x * x for x in range(1, 11) if x % 2 == 0] [4, 16, 36, 64, 100] 有了 if 条件,只有 if 判断为 True 的时候,才把循环的当前元素添加到列表中。 以上是课程内容。 我想问>>> [x * x for x in range(1, 11) if x % 2 == 0]中 执行顺序是先for循环把值给x,然后if判断是否为偶数,再执行x*x吗?或者还是别的执行顺序。百度了一下没找到结果。 
查看完整描述

3 回答

已采纳
?
小猫过河

TA贡献26条经验 获得超15个赞

嗯,对.

def func():
    l = []
    for x in range(1,11):
        if x % 2 == 0:
           l.append(x*x)
    return l
    
print func()

output:[4, 16, 36, 64, 100]

这里是等价的,过程差不多,先for再if,你可以这样理解.


查看完整回答
1 反对 回复 2016-05-21
?
june_fu888

TA贡献1条经验 获得超1个赞

你的理解是对的

查看完整回答
1 反对 回复 2016-05-22
  • 3 回答
  • 0 关注
  • 2332 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信