homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tebeka
Recipients mark.dickinson, rhettinger, tebeka
Date 2008年11月21日.20:45:18
SpamBayes Score 2.1789237e-12
Marked as misclassified No
Message-id <1227300320.56.0.26201189374.issue4356@psf.upfronthosting.co.za>
In-reply-to
Content
I agree you can get around this with defining __cmp__, however same goes
to "sort" and it was added anyway.
My take on it is that sometimes I need to find something in a big list
of objects, and I don't like to do DSU and not add __cmp__ to the
objects (since some of the lists might be sorted by different attributes
- say one list for time and one line for price).
I'd prefer if we do implement "key" and add a warning in the docs it
might slow you down. Which what will happen in the case of __cmp__ anyway.
I don't see why the "key" function should be called all the time on
inserted item, it's very easy to cache this value
def bisect(a, x, lo=0, hi=None, key=lambda x: x):
 assert low >= 0, "low must be non-negative"
 hi = hi or len(a)
 x_key = key(x) 
 while lo < hi:
 mid = (lo+hi)//2
 if x_key < key(a[mid]): hi = mid
 else: lo = mid+1
 return lo
(I'd also wish for "identity" built in, however this is another subject :)
History
Date User Action Args
2008年11月21日 20:45:20tebekasetrecipients: + tebeka, rhettinger, mark.dickinson
2008年11月21日 20:45:20tebekasetmessageid: <1227300320.56.0.26201189374.issue4356@psf.upfronthosting.co.za>
2008年11月21日 20:45:19tebekalinkissue4356 messages
2008年11月21日 20:45:18tebekacreate

AltStyle によって変換されたページ (->オリジナル) /