我的一个单元测试在读取日志文件后检查范围是否设置正确,我只想测试 var == range(0,10)
。但是,range(0,1) == range(0,1)
在 Python 3 中计算为 False
。
有没有直接的方法来测试 Python 3 中范围的等价性?
最佳答案
在 Python3 中,range
返回类型为 range
的可迭代对象。两个 range
相等当且仅当它们相同(即共享相同的 id
)。要测试其内容是否相等,请转换 range
到列表
:
list(range(0,1)) == list(range(0,1))
这适用于短距离。对于很长的范围,Charles G Waldman's solution更好。
关于python - 如何测试范围的等价性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740796/