Python:使用带有整数键的dict()创建字典?

Sin*_*dyr 27 python dictionary integer key

在Python中,我看到人们创建这样的字典:

d = dict( one = 1, two = 2, three = 3 )
Run Code Online (Sandbox Code Playgroud)

如果我的键是整数怎么办?当我尝试这个:

d = dict (1 = 1, 2 = 2, 3 = 3 )
Run Code Online (Sandbox Code Playgroud)

我收到一个错误.我当然可以这样做:

d = { 1:1, 2:2, 3:3 }
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我的主要问题是:有没有办法使用dict()函数/构造函数设置整数键?

Bre*_*arn 47

是的,但不是那个版本的构造函数.你可以这样做:

>>> dict([(1, 2), (3, 4)])
{1: 2, 3: 4}
Run Code Online (Sandbox Code Playgroud)

制作词典有几种不同的方法.如文档所述,"提供关键字参数[...]仅适用于有效Python标识符的密钥."

  • @Sindyr:有一种简单而有吸引力的方式.这是"{1:2,3:4}". (8认同)
  • @Sindyr,我没有找到有意义或有吸引力的`1 = 2`形式的作业. (6认同)
  • @Yamo93:当然有。你可以只做`my_dict[1] = "whatever"`。 (5认同)
  • 这就是我害怕的。有一种简单且视觉上吸引人的方法来制作字典`d = dict(one=1, two=2)`,但是如果您的键不是有效的 Python 标识符,您将被迫使用看起来不那么简单的语法。:( (2认同)

Aiv*_*erg 5

还有这些“方式”:

>>> dict.fromkeys(range(1, 4))
{1: None, 2: None, 3: None}
>>> dict(zip(range(1, 4), range(1, 4)))
{1: 1, 2: 2, 3: 3}
Run Code Online (Sandbox Code Playgroud)