所以我知道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