python中的dict()vs {}哪个更好?

use*_*873 21 python python-2.7

我想知道,这是在下面2种方法中声明字典的最佳实践,为什么?

>>>a=dict(one=2, two=3)  # {"two":3, "one":2}
>>>a={"two":3, "one":2}
Run Code Online (Sandbox Code Playgroud)

Bri*_*ain 26

您是否相信有人已经分析过(从绩效角度来看).

使用CPython 2.7,使用dict()创建字典需要花费6倍的时间,并且涉及比文字语法更多的内存分配操作.使用{}创建词典,尤其是在预先填充词典时,除非文字语法不适合您的情况.

  • 考虑到关键字参数作为字典传递然后由`dict`构造函数再次复制,这并不奇怪. (7认同)
  • 有人愿意更新 py 3.7 的答案吗? (2认同)

Ano*_*rov 11

在 Python 中,您应该始终尽可能使用文字语法。因此[]对于列表、{}字典等。其他人更容易阅读,看起来更好,并且解释器会将其转换为执行速度更快的字节码(容器的特殊操作码,而不是执行函数调用)。

  • 我没有找到诸如“其他人更容易阅读,看起来更好”之类的主观原因的好论据:) (6认同)
  • `dict` 比 `{}` “更容易阅读”,含义也更清晰...特别是对于那些使用多种语言并且很难记住它是大括号、中括号、花括号的人... (4认同)

Ósc*_*pez 8

第二个更清晰,更容易阅读,并且为此存在特定语法是一件好事,因为它是一个非常常见的操作:

a = {"two":3, "one":2}
Run Code Online (Sandbox Code Playgroud)

在一般情况下应该优先考虑.性能参数是次要问题,但即便如此,{}语法也更快.