A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2002-February/019868.html below:

[Python-Dev] Accessing globals without dict lookup

[Python-Dev] Accessing globals without dict lookupGuido van Rossum guido@python.org
Fri, 08 Feb 2002 16:19:54 -0500
> Guido van Rossum writes:
>  > Oops, I was indeed confused.  I think I meant this:
>  > 
>  >     def keys(self):
>  >         return [k for k, c in self.__dict.iteritems() if c.objptr is not NULL]
> 
> Was I not clear, or am I missing something entirely?

I'm guessing both. ;-)

> keys() needs
> *no* special treatment, but items() and values() do:
> 
> class celldict(object):
>     ...
> 
>     def keys(self):
>         return self.__dict.keys()

Wrong.  keys() *does* need special treatment.  If c.objptr is NULL,
the cell exists, but keys() should not return the corresponding key.
This is so that len(x.keys()) == len(x.values()), amongst other
reasons!

>     def items(self):
>         return [k, c.objptr for k, c in self.__dict.iteritems()
>                 if c.objptr is not NULL]
> 
>     def values(self):
>         return [c.objptr for c in self.__dict.itervalues()
>                 if c.objptr is not NULL]

Yes, these are correct.

--Guido van Rossum (home page: http://www.python.org/~guido/)



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4