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

时间:2017-12-19 07:43:57

标签: python

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

  

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

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

2 个答案:

答案 0 :(得分: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的更多信息:

  

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

答案 1 :(得分:2)

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