为什么声明[1,2] <[2,1]在python中评估为True

问题描述 投票:4回答:2

我最近开始研究python编程语言,并在此过程中遇到以下声明:

[1,2] <[2,1]评估为True

我好像不知道如何通过python在内部进行比较。

python
2个回答
4
投票

比较是在每个list中逐项进行的:

>>> [1, 2] < [2, 1] # 1 < 2: because the first two items differ, comparison ends here
True
>>> [1, 2] == [1, 2] # 1 == 1 and 2 == 2
True
>>> [1, 2][0] < [2, 1][0] # 1 < 2
True
>>> [1, 2][1] > [2, 1][1] # 2 > 1
True

关于Comparing Sequences and Other Types的更多信息:

可以将序列对象与具有相同序列类型的其他对象进行比较。比较使用词典排序:首先比较前两个项目,如果它们不同,则确定比较的结果;如果它们相等,则比较接下来的两个项目,依此类推,直到任一序列用完为止。如果要比较的两个项本身是相同类型的序列,则递归地执行词典比较。如果两个序列的所有项比较相等,则认为序列相等。


2
投票

我确定这是一个重复的地方,但是当你比较列表时,比较正在进行lexicographically by each element。 Python首先比较1到2,即每个列表的第一个元素。这是事实,因此右侧列表大于左侧。

© www.soinside.com 2019 - 2024. All rights reserved.