python比較操作的內幕

2021-08-24 19:29:58 字數 755 閱讀 5922

今天看了序列型別相關的比較操作.

在python核心程式設計(2nd)一書中6.13.1章節中, 給出了列表比較的乙個準則..

個人感覺還是不很完善:

如果掃瞄到兩個列表中當前比較元素是不可比較的, 那麼返回什麼??

我用的是python2.6....

對這個問題做了一些測試, 自己目前嘎絕噹比較遇到上述情況時, 是使用兩個列表的記憶體位址值來比較的..

以下**是測試時候的i/o

>>> a = [1, 2, 3, 4] >>> b = [1, 2, 4, "3"] >>> a == b false >>> a < b true >>> a > b false >>> a, b = b, a >>> a [1, 2, 4, '3'] >>> b [1, 2, 3, 4] >>> id(a) 12643064 >>> id(b) 12752576 >>> a < b false >>> b < a true >>> a = [1, "4"] >>> b = [2] >>> a < b true >>> id(a) 12642104 >>> id(b) 12643064 >>> c = [0] >>> a < c false >>> id(c) 12752576 >>> a = [1] >>> b = ["1"] >>> a < b true >>> id(a) 12243072 >>> id(b) 12642104 >>> a = ["1"] >>> b = [1] >>> a < b false >>> id(a) 12643064 >>> id(b) 12243072 >>>

python比較重要的常見操作

定義乙個字串 a abcd 字串子串查詢 index1 a.find b index2 a.index b 統計字元在字串中出現的次數 count a.count b print count 字串子串替換 ret a.replace b 雙擊666 print ret 字串的分割 字串 列表 ret...

Python 邏輯操作符 and 和 or 的比較

在python中,空字串為假,非空字串為真。非零的數為真。只要左邊的表示式為真,整個表示式返回的值是右邊表示式的值,否則,返回左邊表示式的值 只要兩邊的表示式為真,整個表示式的結果是左邊表示式的值。如果是一真一假,返回真值表示式的值 如果兩個都是假,比如空值和0,返回的是右邊的值。空值或0 舉例 t...

python 列表 元組 字典 集合的比較操作

列表和元組都是按順序乙個元素乙個元素比較,不相等直接返回結果,相等就取下乙個繼續比較 如果所有元素都比較完了還沒分出大小,那麼元素多的大,元素一樣多則相等 abc abc 100,200 abc abc 100,200 true abc abc 100,200 abc abc 100,200 fal...