词典列表:get()schould循环列表

时间:2012-05-31 10:32:32

标签: python dictionary

我知道它很容易实现。

我想要一个像class这样的字典,它在构造函数中包含一个字典列表。

如果您通过键读取此dict,则dict-class应检查字典列表并返回第一个值。如果没有包含此键,则KeyError应该像普通字典一样抛出。

此字典容器应仅供我使用。

3 个答案:

答案 0 :(得分:3)

您似乎在描述collections.ChainMap,它将出现在Python的下一个版本(3.3,预计将在今年晚些时候推出)。对于当前/早期版本的Python,您可以从collections source code

复制实现

答案 1 :(得分:0)

没有回答这个问题:如果你只是定义将所有词典合并为一个的方法怎么办?为什么要为它上课呢? 如何合并:How to merge two Python dictionaries in a single expression?
Varargs:Can a variable number of arguments be passed to a function?

答案 2 :(得分:0)

您可以使用此逻辑轻松实现此目的。

  1. 迭代列表中的所有词典。
  2. 对于每个字典,使用key in value语句查看是否具有所需的密钥。
  3. 如果找到值,则返回函数中的值。
  4. 如果您迭代了所有词典,并且找不到值,则引发KeyError异常。