Python: create dictionary using dict() with integer keys?

Sindyr picture Sindyr · Sep 13, 2015 · Viewed 105.4k times · Source

In Python, I see people creating dictionaries like this:

d = dict( one = 1, two = 2, three = 3 )

What if my keys are integers? When I try this:

d = dict (1 = 1, 2 = 2, 3 = 3 )

I get an error. Of course I could do this:

d = { 1:1, 2:2, 3:3 }

which works fine, but my main question is this: is there a way to set integer keys using the dict() function/constructor?

Answer

BrenBarn picture BrenBarn · Sep 13, 2015

Yes, but not with that version of the constructor. You can do this:

>>> dict([(1, 2), (3, 4)])
{1: 2, 3: 4}

There are several different ways to make a dict. As documented, "providing keyword arguments [...] only works for keys that are valid Python identifiers."