当前位置: 首页 > 面试题库 >

[]和{}与list()和dict(),哪个更好?

佘俊茂
2023-03-14
问题内容

我知道它们本质上是同一件事,但是就样式而言,哪个是创建空列表或字典的更好(更Pythonic的)?


问题答案:

在速度方面,空列表/字典没有竞争:

>>> from timeit import timeit
>>> timeit("[]")
0.040084982867934334
>>> timeit("list()")
0.17704233359267718
>>> timeit("{}")
0.033620194745424214
>>> timeit("dict()")
0.1821558326547077

对于非空:

>>> timeit("[1,2,3]")
0.24316302770330367
>>> timeit("list((1,2,3))")
0.44744206316727286
>>> timeit("list(foo)", setup="foo=(1,2,3)")
0.446036018543964
>>> timeit("{'a':1, 'b':2, 'c':3}")
0.20868602015059423
>>> timeit("dict(a=1, b=2, c=3)")
0.47635635255323905
>>> timeit("dict(bar)", setup="bar=[('a', 1), ('b', 2), ('c', 3)]")
0.9028228448029267

另外,使用方括号表示法还可以使您使用列表和字典理解,这可能就足够了。



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

  • 本文向大家介绍Zookeeper和Eureka哪个更好?,包括了Zookeeper和Eureka哪个更好?的使用技巧和注意事项,需要的朋友参考一下 Zookeeper和Eureka哪个更好? 1、CAP理论 一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求 C:数据一致性:保证所有数据都要同步 A:可用性:要保证任何时候请求数据都能够正常响应 P:分区容错性:当网络通信发生故

  • 本文向大家介绍python中dict和list的区别,dict的内部实现?相关面试题,主要包含被问及python中dict和list的区别,dict的内部实现?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: dict查找速度快,占用的内存较大,list查找速度慢,占用内存较小,dict不能用来存储有序集合。Dict用{}表示,list用[]表示。 dict是通过hash表实现的,dict为

  • 上一篇文章出现了个明显的知识点错误,不过感谢有个网友的提出,及时进行了修改。也希望各位多多包涵。 注:(2019年09月01日15:28:00) 在修改文章的时候,发现自己两年前写的像屎一样, 忍不住还在群里吐槽一番。 目录

  • 问题内容: 我有一个关于成语和可读性的问题,对于这种特殊情况,似乎存在Python哲学的冲突: 我想从字典B构建字典A。如果B中不存在特定键,则什么也不做,继续。 哪种方法更好? 要么 “做并请求宽恕”与“简单明了”。 哪个更好?为什么? 问题答案: 异常不是有条件的。 条件版本更清晰。这很自然:这是直接的流控制,这是条件设计的目的,而不是异常。 在循环中进行这些查找时,异常版本主要用作优化:对于

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