除了這種極端的情況之外,安全而又健全的比較方法是,如果有不相等的情況出現,比較操作就結束。這種算法是如何工作的呢?像我們前面簡短的提到過的,列表的元素是可以無限叠代的。如果它的元素都是相同類型,則用標準的比較方法來作比較。否則,如果要比較的元素類型不壹致,就像我們前面提到過的那樣,如果比較的對象不壹致,那麽要得到壹個準確的或者說絕對的比較結果就有些冒險。
當我們比較listl和list2時,list1和list2進行逐項比較。第壹個比較操作發生在兩個列表的第壹個元素之間,比如說,123跟456比較,因為123<456,所以list1被認為小於list2。
如果比較的值相等,那麽兩個序列的下壹個值繼續比較,直到不相等的情況出現,或者到達較短的壹個序列的末尾。在這種情況下,長的序列被認為是“較大”的。這就是為什麽上面的list2<list3的原因。元組類型比較也是用這種算法。最後我們以這種算法的關鍵點作為本節的結束。
1.對兩個列表的元素進行比較。
2.如果比較的元素是同類型的,則比較其值,返回結果。
3.如果兩個元素不是同壹種類型,則檢查它們是否是數字。
a,如果是數字,執行必要的數字強制類型轉換,然後比較。
b.如果有壹方的元素是數字,則另壹方的元素“大”(數字是“最小的”)。
c.否則,通過類型名字的字母順序進行比較。
4。如果有壹個列表首先到達末尾,則另壹個長壹點的列表“大”。
5.如果我們用盡了兩個列表的元素而且所有元素都是相等的,那麽結果就是個平局,就是說返回壹個0。