我想知道是否有更聪明的方法来从集合中创建默认dict。dict应该有一个空的numpy ndarray作为默认值。
目前最好的结果是:
import collections
d = collections.defaultdict(lambda: numpy.ndarray(0))
字符串
然而,我想知道是否有可能跳过lambda项,以更直接的方式创建dict。比如:
d = collections.defaultdict(numpy.ndarray(0)) # <- Nice and short - but not callable
型
2条答案
按热度按时间oug3syen1#
你可以使用
functools.partial()
来代替lambda:字符串
defaultdict()
* 总是 * 需要一个可调用函数,而numpy.ndarray()
* 总是 * 需要至少一个参数,所以这里不能只传入numpy.ndarray
。rpppsulh2#
另一种方法是,如果你事先知道数组的大小:
字符串