如何将具有固定列表或数组大小的 defaultdict 或字典作为值

vka*_*l11 1 python

我试图使用 d = defaultdict(array.array) 或 d = defaultdict(list) 作为字典,但我不知道如何将 array.array 或列表中的元素数量固定为 N,其中 N 是数组的大小我总是希望列表或 array.array 是。如果可能,我希望列表的所有 N 个元素都预先初始化为零。

And*_*ark 5

to 的参数defaultdict()是一个创建默认值的可调用对象,因此只需创建一个函数来创建您的起始值:

N = 8  # change N to whatever you want
def default_list():
    return [0] * N

d = defaultdict(default_list)
Run Code Online (Sandbox Code Playgroud)

或者作为一个 lambda:

d = defaultdict(lambda: [0] * N)
Run Code Online (Sandbox Code Playgroud)