当前位置: 首页 > 知识库问答 >
问题:

python中的dict()与{}哪个更好?[闭门]

柯宜年
2023-03-14

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

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

共有3个答案

邵兴庆
2023-03-14

在Python中,只要可能,就应该始终使用文本语法。因此,对于列表,[]对于dicts等,它更容易让其他人阅读,看起来更漂亮,解释器会将其转换为执行速度更快的字节码(容器的特殊操作码,而不是执行函数调用)。

韩安顺
2023-03-14

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

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

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

傅翰池
2023-03-14

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

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

 类似资料:
  • 问题内容: 我知道它们本质上是同一件事,但是就样式而言,哪个是创建空列表或字典的更好(更Pythonic的)? 问题答案: 在速度方面,空列表/字典没有竞争: 对于非空: 另外,使用方括号表示法还可以使您使用列表和字典理解,这可能就足够了。

  • java.util.Objects类使用了许多新方法进行了扩展 对象#RequireNonNullElse 分别 中的对象#RequireNonNullElseget()。 如果第一个参数为非空,则返回第一个参数,否则返回非空的第二个参数或supplier.get()的非空值 但新功能与类中已存在的可选#orelse和可选#orelseget重叠 中的新方法与相应的方法之间的唯一区别是,suppl

  • 问题内容: 我一直在阅读和学习有关Docker的知识,并试图正确选择要使用的Django设置。到目前为止,有: Docker Compose 或Dockerfile 我了解在中使用了,但是我不确定是否将所有内容放入一个大的Dockerfile中并用多个命令处理不同的映像是否是一个好习惯? 我想使用几个不同的图像,包括: 请提供关于使用 Docker 设置此类环境的最佳实践的建议。 如果有帮助,我在

  • 想改进这个问题吗?更新问题,以便通过编辑这篇文章用事实和引用来回答。 我在玩Java*流API,在Lagecy系统中有以下代码: 我编写了与上述代码等价的流,如下所示: 无论哪种方式,我都得到了想要的结果。我的问题是,在这种情况下,哪种性能方面是更好的写作方式?如果我选择其中任何一个而不是另一个,我实际上是否获得了任何价值?地图中包含大约 1000 个值。

  • 问题内容: 使用哪种更好或更方便: 要么 问题答案: 您是否完全需要类型属性?如果您使用的是HTML5,则不会。否则,是的。HTML 4.01和XHTML 1.0 根据需要指定属性,而HTML5具有可选属性,默认为。HTML5现在得到了广泛的实现,因此,如果您使用HTML5doctype,则是有效且不错的选择。 至于type属性中应该包含的内容,2006年注册的MIME类型旨在替代所有主要浏览器(

  • 对于大型项目,ui-router是首选。但它给出的主要优点是嵌套视图。但这也可以通过ng-view实现。那么该选哪一个呢?