1

辞書にd=defaultdict(array.array)またはd = defaultdict(list)を使用しようとしましたが、array.arrayまたはlistの要素数をNに固定する方法がわかりません。ここでNは配列のサイズ私は常にlistまたはarray.arrayにしたいです。可能であれば、リストのN個の要素すべてをゼロに事前初期化する必要があります。

4

2 に答える 2

5

toの引数defaultdict()はデフォルト値を作成する呼び出し可能であるため、開始値を作成する関数を作成するだけです。

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

d = defaultdict(default_list)

またはラムダとして:

d = defaultdict(lambda: [0] * N)
于 2013-01-28T05:35:50.853 に答える
2

defaultdict値を返す関数を渡すので、適切なサイズのリストまたは配列を返す関数を渡すだけです。例えば:

def make_list_of_10_zeroes():
    return [0] * 10

d = defaultdict(make_list_of_10_zeroes)

ここで使用している関数には、であるステートメントが1つしかないため、代わりにラムダreturnを使用できます。

d = defaultdict(lambda: [0] * 10)
于 2013-01-28T05:33:51.617 に答える