__peter__ at web.de
Mon Aug 16 13:22:28 CEST 2010
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]
>>>> [1,2,3] < [1,2,4]
>>>> [1,2,3] < [2,2,3]
>>>> [1,2,3] < [0,1,3]
>>>> [1,2,3] < [0,2,3]
>>>> [1,2,3] < [1,1,3]
>>>> [1,2,3] < [1,2,2]
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
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]).
More information about the Python-list