[英]Weird behavior when running code with Pool.map() and range() in Python 3
[英]python range weird behavior
我需要检查python中对象的变量,称为状态。 我在做什么是已知的:
if p.status() in range(21,30):
其中p是我的对象。 我需要检查此状态是否介于-21和-29之间,但是只有在我将范围写为正数而不是负数时,它才起作用。 当我写:
if p.status() in range(-30,-21):
它没有返回任何东西。 (当然,我打印了该对象的状态,并且确定此条件存在)。 一些想法???
谢谢
忘记range
。 链接比较运算符更具可读性。
if -29 <= p.status() <= -21:
顺便说一句, range
的stop
参数永远不会包含在返回值中,因此对于-21至-29 inlusive,您需要range(-29,-20)
。
您可以从0中减去该值,这将产生一个在范围内的正值:
if 0 - p.status() in range(21,30):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.