我不知道在哪里可以找到解释以下内容的参考资料
>>> 3<range(3)
True
>>> [1,2]<range(3)
False
>>> [1]<range(3)
False
>>> [4]<range(3)
False
>>> [4,1,2,3]<range(3)
False
谢谢!
答案 0 :(得分:3)
在Python 2中,range()
生成一个列表对象。第一个测试比较了两种不同的类型,此时numbers always come before other types:
>>> range(3)
[0, 1, 2]
>>> 3 < []
True
其余的只是将列表与[0, 1, 2]
进行比较;列表按字典顺序进行比较,0
低于所有其他测试中的任何第一个值。
您的初始值应低于0:
>>> [-1] < range(3)
True
或者,如果相等,则下一个值应低于1:
>>> [0, 0] < range(3)
True
等
请参阅表达式文档的Comparisons section:
使用相应元素的比较,按字典顺序比较元组和列表。这意味着要比较相等,每个元素必须比较相等,并且两个序列必须是相同的类型并具有相同的长度。