py: Implement full behaviour of dict.update(), and dict().

Add keyword args to dict.update(), and ability to take a dictionary as
argument.

dict() class constructor can now use dict.update() directly.

This patch loses fast path for dict(other_dict), but is that really
needed?  Any anyway, this idiom will now re-hash the dictionary, so is
arguably more memory efficient.

Addresses issue #647.
This commit is contained in:
Damien George
2014-06-03 12:53:44 +01:00
parent 07995e9479
commit bcb6ca4d5e
3 changed files with 74 additions and 53 deletions

View File

@@ -0,0 +1,16 @@
# dict constructor
d = dict()
print(d)
d = dict({1:2})
print(d)
d = dict(a=1)
print(d)
d = dict({1:2}, a=3)
print(d[1], d['a'])
d = dict([(1, 2)], a=3, b=4)
print(d[1], d['a'], d['b'])