使用不等式运算符比较列表时难以理解 Python 行为。这是使用 python3 命令行解释器的片段:
>>> [8] < [7]
False
>>> [8] < [9]
True
>>> [8, 6] < [9]
True
>>> [8, 6] < [9, 7]
True # So far so good
>>> [8, 6] < [9, 5]
True # Huh?
因此,显然 Python 不仅仅是在并行索引中移动。我确实找到了一些信息,说明在这种情况下,Python 按“字典顺序”对列表进行排序,我猜这意味着按字母顺序。
所以,我认为列表可能会被排序,然后通过并行比较,但这被以下示例所证明:
>>> [1, 2, 3] < [3, 2, 1]
True
我的猜测是内部比较将是 [1, 2, 3] < [1, 2, 3],它应该返回 False,因为 1 < 1 是 False,2 < 2 是 False,等等。
任何帮助表示赞赏。