Francesco Bochicchio wrote: > Hi all, > > anybody can point me to a description of how the default comparison of > list objects (or other iterables) works? > > Apparently l1 < l2 is equivalent to all ( x < y for x,y in > zip( l1, l2) ), has is shown in the following tests, but I can't find > it described anywhere: > >>>> [1,2,3] < [1,3,2] > True >>>> [1,2,3] < [1,2,4] > True >>>> [1,2,3] < [2,2,3] > True >>>> [1,2,3] < [0,1,3] > False >>>> [1,2,3] < [0,2,3] > False >>>> [1,2,3] < [1,1,3] > False >>>> [1,2,3] < [1,2,2] > False > > > Ciao > --- > FB
Quoting http://docs.python.org/reference/expressions.html """ Tuples and lists are compared lexicographically using comparison of corresponding elements. This means that to compare equal, each element must compare equal and the two sequences must be of the same type and have the same length. If not equal, the sequences are ordered the same as their first differing elements. For example, cmp([1,2,x], [1,2,y]) returns the same as cmp(x,y). If the corresponding element does not exist, the shorter sequence is ordered first (for example, [1,2] < [1,2,3]). """ -- http://mail.python.org/mailman/listinfo/python-list