Python列表推导式中布尔值判断结果异常的原因探究
问题原因解析
你写的第一个列表推导式里,if后面跟的是固定的True常量,这意味着不管循环遍历answers里的哪个元素,这个判断条件永远成立,所以每次都会返回"yes",完全没用到answer变量的实际值——哪怕原列表里是False,也不会影响这个固定为真的判断。
修改后的代码把判断条件改成了if answer,这才是真正去校验当前循环到的answer元素本身的布尔值:当元素是True时返回"yes",是False时返回"no",自然就能得到符合预期的结果。
内容的提问来源于stack exchange,提问作者Mike B
相关产品推荐
相关产品推荐

