Sta*_*ool 5 python inequalities
在使用不等式运算符比较列表时,无法理解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?
Run Code Online (Sandbox Code Playgroud)
所以,显然Python不只是通过并行索引.我确实找到了一些信息,说在这种情况下,Python按字典顺序排列列表,我猜这是按字母顺序排列的.
因此,我认为列表可能会被排序,然后通过并行进行比较,但以下示例证明了这一点:
>>> [1, 2, 3] < [3, 2, 1]
True
Run Code Online (Sandbox Code Playgroud)
我的猜测是内部比较是[1,2,3] <[1,2,3],它应该返回False,因为1 <1是假,2 <2是假等等.
任何帮助表示赞赏.
Python 所做的是,并行遍历列表并比较相同索引的元素。第一次遇到不相等的元素时,它返回此结果。
比较单词时是一样的:
"Peter" > "Peer"
Run Code Online (Sandbox Code Playgroud)
前两个字母相同,第三个字母不同,给出结果。这(对于列表)与纸质词典中使用的技术相同,只是使用列表元素而不是字符。
附加信息:(如 Padraic Cunningham 建议的那样):当一个列表较短且所有元素达到较短列表的大小且相同时,较长的列表被认为较大。这也与普通(纸质)词典相同。