Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #106686 > unrolled thread

Re: how to convert code that uses cmp to python3

Started byChris Angelico <rosuav@gmail.com>
First post2016-04-09 00:25 +1000
Last post2016-04-09 00:25 +1000
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: how to convert code that uses cmp to python3 Chris Angelico <rosuav@gmail.com> - 2016-04-09 00:25 +1000

#106686 — Re: how to convert code that uses cmp to python3

FromChris Angelico <rosuav@gmail.com>
Date2016-04-09 00:25 +1000
SubjectRe: how to convert code that uses cmp to python3
Message-ID<mailman.89.1460125529.2253.python-list@python.org>
On Sat, Apr 9, 2016 at 12:20 AM, Antoon Pardon
<antoon.pardon@rece.vub.ac.be> wrote:
>> You only need ONE comparison, and the other is presumed to be its
>> opposite. When, in the Python 3 version, would you need to compare
>> twice?
>
> About 50% of the time. When I traverse the tree I go left when the
> argument key is smaller than the node key, I go right when it is
> greater than the node key and I have found the node I want when
> they are equal.

How about this:

You have found the node if they are equal.
Otherwise, go left if your argument is smaller than the node.
Otherwise, go right.

You don't have to do three comparisons, only two - and one of them is
an equality, rather than an inequality, which is often cheaper. But
hey. If you really can't handle the double comparison, *write your
own* special-purpose comparison function - nobody's stopping you! It's
just not something that exists *in the language*. If your specific
objects need this, write it!

ChrisA

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web