50

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

>>>a=dict(one=2, two=3)  # {"two":3, "one":2}
>>>a={"two":3, "one":2}
4

3 回答 3

41

您是否相信有人已经分析过了(从性能的角度来看)。

在 CPython 2.7 中,使用 dict() 创建字典的时间比文字语法要长 6 倍,并且涉及更多的内存分配操作。使用 {} 创建字典,尤其是在您预填充它们时,除非文字语法不适用于您的情况。

于 2013-06-13T22:10:47.320 回答
17

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

a = {"two":3, "one":2}

在一般情况下应该首选它。性能参数是次要问题,但即便如此,{}语法还是更快。

于 2013-06-13T22:12:37.347 回答
11

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

于 2013-06-13T22:15:43.720 回答