第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python 2如何比較字符串和int?為什么列表比較大于數(shù)字,而元組大于列表?

Python 2如何比較字符串和int?為什么列表比較大于數(shù)字,而元組大于列表?

Python 2如何比較字符串和int?為什么列表比較大于數(shù)字,而元組大于列表?以下代碼段使用輸出進(jìn)行注釋?zhuān)ㄈ鏸deone.com上所示):print "100" < "2"      # Trueprint "5" > "9"        # Falseprint "100" < 2        # Falseprint 100 < "2"        # Trueprint 5 > "9"          # Falseprint "5" > 9          # Trueprint [] > float('inf') # Trueprint () > []          # True有人可以解釋為什么輸出是這樣的?實(shí)施細(xì)節(jié)這種行為是由語(yǔ)言規(guī)范強(qiáng)制執(zhí)行的,還是由實(shí)現(xiàn)者決定的?任何主要的Python實(shí)現(xiàn)之間是否存在差異?Python語(yǔ)言版本之間是否存在差異?
查看完整描述

2 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊

python 2手冊(cè)

CPython實(shí)現(xiàn)細(xì)節(jié):除了數(shù)字之外的不同類(lèi)型的對(duì)象按其類(lèi)型名稱排序; 不支持正確比較的相同類(lèi)型的對(duì)象按其地址排序。

當(dāng)您訂購(gòu)兩個(gè)字符串或兩個(gè)數(shù)字類(lèi)型時(shí),排序以預(yù)期的方式完成(字符串的字典順序,整數(shù)的數(shù)字排序)。

當(dāng)您訂購(gòu)數(shù)字和非數(shù)字類(lèi)型時(shí),數(shù)字類(lèi)型首先出現(xiàn)。

>>> 5 < 'foo'

True

>>> 5 < (1, 2)

True

>>> 5 < {}

True

>>> 5 < [1, 2]

True

當(dāng)您訂購(gòu)兩個(gè)不兼容的類(lèi)型(兩者都不是數(shù)字)時(shí),它們按其類(lèi)型名的字母順序排序:


>>> [1, 2] > 'foo'   # 'list' < 'str' 

False

>>> (1, 2) > 'foo'   # 'tuple' > 'str'

True


>>> class Foo(object): pass

>>> class Bar(object): pass

>>> Bar() < Foo()

True

一個(gè)例外是舊式類(lèi),它總是出現(xiàn)在新式類(lèi)之前。


>>> class Foo: pass           # old-style

>>> class Bar(object): pass   # new-style

>>> Bar() < Foo()

False

這種行為是由語(yǔ)言規(guī)范強(qiáng)制執(zhí)行的,還是由實(shí)現(xiàn)者決定的?

沒(méi)有語(yǔ)言規(guī)范。該語(yǔ)言參考說(shuō):

否則,不同類(lèi)型的對(duì)象總是比較不相等,并且一致但是任意地排序。

所以它是一個(gè)實(shí)現(xiàn)細(xì)節(jié)。

任何主要的Python實(shí)現(xiàn)之間是否存在差異?

我無(wú)法回答這個(gè),因?yàn)槲抑皇褂昧斯俜降腃Python實(shí)現(xiàn),但還有其他Python實(shí)現(xiàn),如PyPy。

Python語(yǔ)言版本之間是否存在差異?

在Python 3.x中,行為已更改,因此嘗試排序整數(shù)和字符串將引發(fā)錯(cuò)誤:

>>> '10' > 5

Traceback (most recent call last):

  File "<pyshell#0>", line 1, in <module>

    '10' > 5

TypeError: unorderable types: str() > int()


查看完整回答
反對(duì) 回復(fù) 2019-05-27
  • 2 回答
  • 0 關(guān)注
  • 2095 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)