You mean 'get' method should not alter the dict, does 'dict[key]' should not alter the dict either?<br><br>d = defaultdict(set)<br>assert len(d) == 0<br>print d[1]<br>assert len(d) == 1<br><br>auto insert value to dict, when value is not in dict, is what defaultdict try to do.<br>
<br><div class="gmail_quote">On Fri, May 22, 2009 at 7:46 AM, Rhodri James <span dir="ltr"><<a href="mailto:rhodri@wildebst.demon.co.uk">rhodri@wildebst.demon.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Thu, 21 May 2009 13:07:50 +0100, Red Forks <<a href="mailto:redforks@gmail.com" target="_blank">redforks@gmail.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
from collections import defaultdict<br>
<br>
d = defaultdict(set)<br>
assert isinstance(d['a'], set)<br>
assert isinstance(d.get('b'), set)<br>
<br>
d['a'] is ok, and a new set object is insert to d, but d.get('b') won't.<br>
<br>
It's a bug, or just a feature?<br>
</blockquote>
<br></div>
Feature.  You're blaming 'get' for doing exactly what it said it would,<br>
both in returning None and not gratuitously altering the dictionary.<br><font color="#888888">
<br>
-- <br>
Rhodri James *-* Wildebeeste Herder to the Masses</font><div><div></div><div class="h5"><br>
-- <br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
</div></div></blockquote></div><br>