[Python-3000] Iterators for dict keys, values, and items == annoying :)
Taro Ogawa
taroso at gmail.com
Fri Mar 31 13:26:39 CEST 2006
[Originally misposted to python-dev]
Nick Coghlan <ncoghlan <at> gmail.com> writes:
> There are three big use cases:
> dict.keys
> dict.values
> dict.items
> Currently these all return lists, which may be expensive in terms of copying.
> They all have iter* variants which while memory efficient, are far less
> convenient to work with.
<delurk>
Is there any reason why they can't be view objects - a dictionary has keys,
has values, has items - rather than methods returning view objects:
for k in mydict.keys:
...
for v in mydict.values:
...
for k, v in mydict.items:
...
For backward compatibility with Py2.x, calling them would raise a
DeprecationWarning and return a list. This could even be introduced in 2.x
(with a PendingDeprecationWarning instead?).
Cheers, -T.
More information about the Python-3000
mailing list