gpt4 book ai didi

python - python中神秘的for循环

转载 作者:太空狗 更新时间:2023-10-30 01:39:40 24 4
gpt4 key购买 nike

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

如果我然后在 exp 中执行 x,它会给我 False。但是如果我执行:

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

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

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

回答

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

最佳答案

您似乎无意中发现 in 在 Python 中有些过载。

  • x in exp ,您在问“x exp 中吗?”
  • for x in exp: ... ,你告诉 Python “对于 exp 中的每个元素,将其命名为 x 并执行...”<

后者会将 exp 中的每个值赋给 x,一个接一个,并用该值执行循环体,所以在第一个迭代 x 被赋值为 1,在第二个 2 和最后一个 5 中。此外,x 在循环后保留这个值!

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

关于python - python中神秘的for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25573715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com