【问题标题】:How to create a specific default list in defaultdict?如何在 defaultdict 中创建特定的默认列表?
【发布时间】:2015-08-08 09:18:09
【问题描述】:

我正在尝试构建一个使用特定列表初始化的 defaultdict。这样,如果我使用确实存在的键访问字典,它将使用特定列表进行初始化,比如说[True, True, True]

而不是这样做

my_defaultdict = collections.defaultdict(list)

例如,这样的事情(显然行不通)

my_defaultdict = collections.defaultdict([True, True, True])

我尝试了类似的方法,但这不起作用

my_defaultdict = collections.defaultdict(lambda: list[True, True, True])

我首先查看了this question,但无法弄清楚。

【问题讨论】:

  • 试过lambda: [True, True, True]?
  • 啊!是的。那是正确的。我以为我已经尝试过了。谢谢!!
  • @doublep 需要更多括号:list() takes at most 1 argument。请注意,lambda每次都会创建一个新列表。
  • @jonrsharpe:呃,我刚刚删除了我的评论。

标签: python lambda defaultdict


【解决方案1】:

defaultdict 的参数应该是一个函数或任何可调用对象:

my_defaultdict = collections.defaultdict(lambda : [True,True,True])

【讨论】:

    猜你喜欢
    • 2011-08-14
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多