簡體   English   中英

python如何比較字符串和整數

[英]How does python compare strings and integers

在下面的代碼中,這是一個簡單的算法,用於對元素進行排序。我的問題是如何在內部比較字符串以及解釋器如何知道這些字符串將被放置在整數之后

a=[22, 66, 54, 11, 16, 2, 5, 'b', 'a', 3, 2, 1] 
>>> for i in range(len(a)-1):
...    for j in range(len(a)-i-1):
...       if a[j] > a[j+1]:
...          a[j],a[j+1]=a[j+1],a[j]
...
>>> print a
[1, 2, 2, 3, 5, 11, 16, 22, 54, 66, 'a', 'b']

在2.x中,如果兩個對象不能被強制轉換為公共類型,則它會比較類名。 “str”>“int”,所以他們來了。

在3.x中,如果兩個對象不能被強制轉換為公共類型,則會引發異常。

隨意。

除了不同的數字類型和不同的字符串類型之外,不同類型的對象永遠不會相等; 這些對象是一致但任意排序的(因此排序異構數組會產生一致的結果)。 此外,某些類型(例如,文件對象)僅支持簡並比較概念,其中該類型的任何兩個對象都是不相等的。 同樣, 這些對象是任意但一致的 當任何操作數是復數時,<,<=,>和> =運算符將引發TypeError異常。

內置類型(Python.org)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM