Is the ordering of True and False well defined in Python, or is it left as an implementation detail?
From the console, I'm seeing False sort before True...but I don't know if that's a behavior I should rely on or not.
(I'm sure there's some Python doc about this, but I can't find it...)
The Python Boolean type is one of Python's built-in data types. It's used to represent the truth value of an expression. For example, the expression 1 <= 2 is True , while the expression 0 == 1 is False .
Python bool() Function The bool() function returns the boolean value of a specified object.
Bools are sorted from false to true. The descending sort will order them from true to false. True is essentially equal to 1, and false to 0. Use boolean sorting for selection algorithms where some objects should be demoted.
Python's default sort uses Tim Sort, which is a combination of both merge sort and insertion sort.
http://docs.python.org/2/reference/datamodel.html#the-standard-type-hierarchy
Booleans: These represent the truth values False and True. The two objects representing the values False and True are the only Boolean objects. The Boolean type is a subtype of plain integers, and Boolean values behave like the values 0 and 1, respectively, in almost all contexts, the exception being that when converted to a string, the strings "False" or "True" are returned, respectively.
This reads to me that the python language requires False < True
, False == 0
, True == 1
, True != 2
.
The same wording is retained in Python 3 as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With