所以我知道comparisons on tuples工作字典序:兩個元組的所有元素(包括所有()功能)比較
從這個元組和列表的字典順序使用相應元素的比較比較。這意味着爲了比較相等,每個元素必須相等並且兩個序列必須是相同類型並且具有相同長度。
如果不相等,則序列是有序的與它們的第一不同的元件。例如,CMP([1,2,X],[1,2,Y])返回相同CMP(X,Y)。如果相應的元素不存在,則較短的序列首先被排序(例如,[1,2] < [1,2,3])。
所以:
>>> a = (100, 0)
>>> b = (50, 50)
>>> a > b
True
,但我想,以2元組的所有元素進行比較,所以在功能上我想要的東西,類似於(使用上面的值):
>>> a > b
(True, False) #returned tuple containing each comparison
>>> all(a > b)
False
在實踐中例如,對於類似的屏幕座標,如果你想檢查,如果事情是「內部」(0,0)的屏幕,但做過類似座標的比較>(0,0),如果x座標大於0,但y座標較小,它仍然會返回true,這不是這種情況下需要的。
作爲一種子問題/討論:
我不知道爲什麼比較兩個不同值的元組以這種方式返回。您還沒有給出任何形式的指數,讓你從比較的元組(未測試平等)得到的唯一的事情是,在元組的一些點,攀比的人會拋出一個true或false值時,他們不等於。你怎麼能利用這一點?
的元組比較有用的情況是版本號; '(3,1,4,2)<(3,2,0,1)'之類的東西 – 2012-04-28 00:33:39