
On Tue, 2004-01-20 at 09:41, Moore, Paul wrote:
From: Raymond Hettinger
[Bob Ippolito]
d.setdefault(k, factory=list).append(v) ?
That is somewhat nice and backwards compatible too.
-1
How is it more expressive than d.setdefault(k, []).append(v)? As far as I can see, it's longer and contains an extra obscure(ish) term (factory).
One benefit is that it doesn't create an unnecessary empty list when the key is already in the dictionary.
And I agree with the other posters that other defaults are often useful, and further complicating the dictionary interface isn't particularly helpful.
If conciseness is important,
def addlist(d, k, v): d.setdefault(k, []).append(v)
Nonetheless, I agree that the dict API is already quite large and the benefit of this new/changed method is very small. Jeremy