python - 为什么 "5 in range(5,6) in [range(5,6)]"返回 True?

标签 python

我是 Python 新手,我碰巧注意到 5 in range(5,6) in [range(5,6)] 返回 True。 有人可以向我解释这背后的逻辑是什么吗?这行不等于 True in [range(5,6)] 吗?为什么不?它到底是如何运作的?

谢谢:)

最佳答案

Python 允许您“链接”比较运算符 ( from the docs ):

Comparisons can be chained arbitrarily, e.g., x < y <= z is equivalent to x < y and y <= z, except that y is evaluated only once (but in both cases z is not evaluated at all when x < y is found to be false).

in在上面的引用中算作比较运算符。所以该表达式相当于:

5 in range(5, 6) and range(5, 6) in [range(5, 6)]

这是True ,因为5在该范围内,并且 range(5, 6)就在该列表中。

关于python - 为什么 "5 in range(5,6) in [range(5,6)]"返回 True?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60169690/

相关文章:

Python 循环在 Window 的解释器中不断停止

python - 使用 sort_values + head() 时如何包含匹配值

python - 如何使单词边界\b 在破折号上不匹配

python - 如何在matplotlib绘图的xlabel中打印10K,20K......1M

Python - 检查文件中行​​的顺序

python - statsmodels、scipy 和 numpy 提供的自相关函数有什么区别?

python - Python 3.3 对 xz 压缩 zip 文件的支持是否扩展到 zipimport?

python - 保持类松散耦合并共享数据

python - 将 JSON 值转换为字符串

python - 如何从 PIL 图像创建 OpenCV 图像?