當前位置:成語大全網 - 新華字典 - 沒有用於比較的函數,這時Python只能根據“邏輯”來做出結論?

沒有用於比較的函數,這時Python只能根據“邏輯”來做出結論?

如果我們比較的是兩個同類的對象,比較操作是非常直觀的。比如數字和字符串,直接比較它們的值就行了。對於序列類型,比較操作稍微有點復雜了,但是方式上有相似Python在兩個對象基本不能比較的時候盡量做出公平的結果,比如當兩個對象沒有關系時或者兩種類型根本就沒有用於比較的函數,這時Python只能根據“邏輯”來做出結論。

除了這種極端的情況之外,安全而又健全的比較方法是,如果有不相等的情況出現,比較操作就結束。這種算法是如何工作的呢?像我們前面簡短的提到過的,列表的元素是可以無限叠代的。如果它的元素都是相同類型,則用標準的比較方法來作比較。否則,如果要比較的元素類型不壹致,就像我們前面提到過的那樣,如果比較的對象不壹致,那麽要得到壹個準確的或者說絕對的比較結果就有些冒險。

當我們比較listl和list2時,list1和list2進行逐項比較。第壹個比較操作發生在兩個列表的第壹個元素之間,比如說,123跟456比較,因為123<456,所以list1被認為小於list2。

如果比較的值相等,那麽兩個序列的下壹個值繼續比較,直到不相等的情況出現,或者到達較短的壹個序列的末尾。在這種情況下,長的序列被認為是“較大”的。這就是為什麽上面的list2<list3的原因。元組類型比較也是用這種算法。最後我們以這種算法的關鍵點作為本節的結束。

1.對兩個列表的元素進行比較。

2.如果比較的元素是同類型的,則比較其值,返回結果。

3.如果兩個元素不是同壹種類型,則檢查它們是否是數字。

a,如果是數字,執行必要的數字強制類型轉換,然後比較。

b.如果有壹方的元素是數字,則另壹方的元素“大”(數字是“最小的”)。

c.否則,通過類型名字的字母順序進行比較。

4。如果有壹個列表首先到達末尾,則另壹個長壹點的列表“大”。

5.如果我們用盡了兩個列表的元素而且所有元素都是相等的,那麽結果就是個平局,就是說返回壹個0。