Stephen Eilert wrote:
> Hendrik van Rooyen escreveu:
> 
>> <[EMAIL PROTECTED]> wrote:
>>
>> >     Peter> Bjoern Schliessmann wrote:
>> >     >> Wouldn't be "if k in d.keys()" be the exact replacement?
>> >
>> >     Peter> No, 'k in d' is equivalent to 'd.has_key(k)', only with less
>> >     Peter> (constant) overhead for the function call. 'k in d.keys()' on 
>> > the
>> >     Peter> other hand creates a list of keys which is then searched 
>> > linearly
>> >     Peter> -- about the worst thing you can do about both speed and memory
>> >     Peter> footprint.
> 
> I've always used has_key(), thinking it was the only way to do it.
> Given that Python says that "There Should Be Only One Way to Do It", I
> didn't bother searching for alternatives.
 >
> Is there a list somewhere listing those not-so-obvious-idioms? I've
> seen some in this thread (like the replacement for .startswith).
> 
> I do think that, if it is faster, Python should translate
> "x.has_key(y)" to "y in x".

How and when should it do that?

Georg
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to