dict() 与 { } 哪个更好? [已关闭]

问题描述 投票:0回答:3

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

>>>a=dict(one=2, two=3)  # {"two":3, "one":2}
>>>a={"two":3, "one":2}
python python-2.7
3个回答
48
投票

你相信吗有人已经分析过了(从性能角度)。

使用 CPython 2.7,使用 dict() 创建字典最多需要 6 时间更长并且涉及更多的内存分配操作 字面语法。使用 {} 创建字典,尤其是当您 预填充它们,除非文字语法不适合您 案例。

2024 年,其他人添加了 Python 3.12 的新分析

{} 总是比 dict 快。

$ python -m timeit "dict()"
10000000 loops, best of 5: 40 nsec per loop
$ python -m timeit "{}"
20000000 loops, best of 5: 19.6 nsec per loop

在我的 MacBook M1 上,差异几乎是 2 倍。


23
投票

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

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

一般情况下应该优先选择它。性能参数是次要问题,但即便如此,

{}
语法更快。


15
投票

在 Python 中,您应该尽可能使用文字语法。所以

[]
代表列表,
{}
代表字典等。其他人更容易阅读,看起来更好,解释器会将其转换为执行速度更快的字节码(容器的特殊操作码,而不是执行函数调用) .

© www.soinside.com 2019 - 2024. All rights reserved.