python - 将参数传递给 defaultdict 创建的对象

标签 python defaultdict

我想要一个默认的字典,它在构造一个新对象时包含一个参数。这可能吗,有更好的方法吗?

defaultdict(myobj, param1)

然后是 myobj:

class myobj(object):

    def __init__(self, param1):
        self.param1 = param1

最佳答案

defaultdict 接受任何可调用对象,因此您可以创建一个不接受参数的新函数并返回使用您想要的参数实例化的对象。

d = defaultdict(lambda: myobj(param1))

另一种选择是使用 functools.partial,它会创建一个带有一个(或多个)预定义参数的函数:

import functools
d = defaultdict(functools.partial(myobj, param1))

关于python - 将参数传递给 defaultdict 创建的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18066837/

相关文章:

python - 使用defaultdict时出现按键错误

python - 使用嵌套 defaultdict 重新分配 pandas 系列值

Python - 将字典列表附加到嵌套的 defaultdict 时出现关键错误

python - 为什么在构造这个 defaultdict 的每个循环中 yield 不返回单独的值?

python - 如何在 MySQL Insert 语句中使用 python 变量,出现元组错误,请提出建议

Python - 使用队列时多处理线程不会关闭

python - 正则表达式替换 html 文档中的文本节点

python - 在动词标签计数中使用defaultdict函数

Python 在整数列表中查找重复序列?

python - 更新 RDD pyspark 中的字典值