Python中的神秘循环

发布于 2021-01-29 17:26:48

exp = [1,2,3,4,5]

如果我然后执行x in exp,它将给我False。但是如果我执行:

for x in exp:
    if x==3:
        print('True')

然后执行x in exp,返回True。这里发生了什么事?我没有给x分配任何东西。是吗 我真的很困惑。

编辑:很抱歉,如果我之前没有说过:x之前未定义。

回答

谢谢大家。我现在明白了 的元素exp被分配给x作为exp被遍历。和x in exp等于True代码的最后一行,因为最后一个元素已分配给x

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    似乎您偶然发现了inPython的某些重载。

    • x in exp,您在问“x exp吗?”
    • for x in exp: ...,你告诉蟒“ 对于 每一个元素 exp,把它x做......”

    后者将分配的每个值在expx,一前一后,并执行体用该值循环的,所以在第一次迭代中x被分配1,在所述第二2,并在最后5。同样,在循环后x
    保持 该值!

    因此,在循环之前,假设x已定义变量但具有其他值,x in exp则将返回False;在循环之后,它将返回True,因为x仍为分配了最后一个值exp



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看