我想生成一个包含双端队列的默认字典。例如:
d = defaultdict(deque)
上面的工作正常,但我想通过传入一个参数使双端队列成为固定长度:
d = defaultdict(deque(maxlen=10))
如何将诸如此类的参数传递给 defaultdict?
我想生成一个包含双端队列的默认字典。例如:
d = defaultdict(deque)
上面的工作正常,但我想通过传入一个参数使双端队列成为固定长度:
d = defaultdict(deque(maxlen=10))
如何将诸如此类的参数传递给 defaultdict?
使用部分应用的函数:
from functools import partial
defaultdict(partial(deque, maxlen=10))
演示:
>>> deque10 = partial(deque, maxlen=10)
>>> deque10()
deque([], maxlen=10)
>>> deque10(range(20))
deque([10, 11, 12, 13, 14, 15, 16, 17, 18, 19], maxlen=10)
有关详细信息,请参阅functools.partial
文档。