2 回答

TA贡献1883条经验 获得超3个赞
从比较序列和其它类型在Python教程:
比较使用字典顺序:首先比较前两个项目,如果它们不同,则确定比较的结果;如果它们相等,则比较下两个项目,依此类推,直到用尽任何一个序列。
另请参阅Wikipedia有关词典顺序的文章。

TA贡献1898条经验 获得超8个赞
由于我首先没有发现使用“词典顺序”对列表/元组比较的解释,因此首先尝试用“我自己的话”对其进行解释。首先,这是下面的说明中引用的一些示例列表:
a = [1, 2, 3]
b = [1, 2, 10]
c = [1, 2, 3, 100]
d = [1, 2, 3]
e = [1, 2, 3, 4, 'a']
f = ['a', 'b', 'c']
依次比较每个索引处的项目对。因此,比较a于b将导致1被比较1,2被比较2和3被比较10。
当对比较将停止或者不相等的一对物品的被发现或 --IF列表具有不同的长度-在达到短列表的末尾。
例如,当比较a和b,比较会当停止3,并10进行比较。比较b和时c,比较将在10和停止3。
一旦发现不相等的对,总体结果就是比较不相等项的结果。无论列表的长度是否相等,这都适用-例如,列表b大于列表,c因为100in c永远不会起作用。
例如,在比较时a要b,总的结果将是比较结果3来10。a < b -> True因为3小于10。a > b -> False因为3不大于10。a == b -> False因为3不相等10。
如果一个列表较短,并且它的N个项目等于较长列表的前N个项目(如a和)c,则较短的列表将被视为小于较长的列表(因此a小于c)。
两个列表只有在长度相同且所有项目对都相等时才比较相等。
关于类型的注意事项:如果一对中的项目不可比,则比较将失败,并且TypeError像往常一样。例如,比较列表a到f时将无法1进行比较'a'。但也要注意,由于in 从未与in中的任何内容进行比较d,因此e可以进行比较。'a'ed
添加回答
举报