mattia wrote:
Il Tue, 22 Dec 2009 23:09:04 +0100, Peter Otten ha scritto:

mattia wrote:

Is there a function to initialize a dictionary? Right now I'm using:
d = {x+1:[] for x in range(50)}
Is there any better solution?
There is a dictionary variant that you don't have to initialize:

from collections import defaultdict
d = defaultdict(list)

Peter

...and it's also the only way to do something like:
def zero():
...     return 0
...
d = defaultdict(zero)

In this case it's probably more Pythonic to do it this way:

>>> d = defaultdict(int)

s = ['one', 'two', 'three', 'four', 'two', 'two', 'one']
for x in s:
...     d[x] += 1
...
d
defaultdict(<function zero at 0x00BA01E0>, {'four': 1, 'three': 1, 'two': 3, 'one': 2
})

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to