【问题标题】:What is the difference between dict, collections.defaultdict, collections.OrderedDict, collectinos.UserDict?dict、collections.defaultdict、collections.OrderedDict、collectinos.UserDict 有什么区别?
【发布时间】:2017-01-22 15:57:48
【问题描述】:

dict、collections.defaultdict、collections.OrderedDict、collectinos.UserDict 有什么区别?

请帮我举个例子。

【问题讨论】:

标签: python-3.x dictionary ordereddictionary defaultdict


【解决方案1】:

它们基本上都是具有不同风味的字典。您可以像使用字典一样使用它们。

  • dict 是“正常”的,它执行 {key:value} 而无需排序或记忆
  • defaultdict 在缺少键的情况下在调用键时添加“默认”值(同时添加值)。
  • OrderedDict 记住添加 的顺序。

不幸的是,我不知道最后一个,但这是reference

UserDict.data 将充当普通字典,但我不知道哪个用例对此感兴趣...

如果这澄清了您想知道的内容,请告诉我。如果你想看到一些很酷的东西,我建议你看看"super considered super!" by Raymond hettinger

【讨论】:

  • 寻找这样的答案。感谢您的回答。如果您有任何其他详细信息,请添加。
  • 我没有详细介绍,但是如果您喜欢这个答案,请为其他人标记它:)
  • 好的。我知道他们的细节。但是,我想知道为什么我们有这么多 dicts 以及拥有这么多的内在原因。
  • 哦,我明白了,让我试着改写我的意思。假设您想保持字典的顺序,但仍想将其应用于消耗字典的东西(即向连接的另一端发送消息的函数,但您想按照它们的顺序发送它们填充在您的字典中,而不是随机的默认顺序)。有序的 dict 可以轻松替换普通的 dict,但该功能是在开发时考虑到普通的。所以去看看超级被认为是超级的依赖注入。有一个与 dict 完全一样的例子 :)。
猜你喜欢
  • 1970-01-01
  • 2018-12-23
  • 1970-01-01
  • 1970-01-01
  • 2020-02-29
  • 2012-05-16
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
相关资源
最近更新 更多