我不確定這是一個錯誤還是一個功能。 我有一個字典被初始化爲空列表。Python字典啓動
比方說
keys =['one','two','three']
sets = dict.fromkeys(keys,[])
我觀察到的是,如果你添加任何項目的任何所有列表被修改的列表。
sets = dict.fromkeys(['one','two','three'],[])
sets['one'].append(1)
套
{'three': [1],'two': [1], 'one': [1]}
但是,當我這樣做是使用循環手動,
for key in keys:
sets[key] = []
sets['one'].append(1)
套
{'three': [], 'two': [], 'one': [1]}
我想第二個問題應該是默認的。
這個問題有着如此不同的形狀:
對於Python 2.6及以下,字典理解可以被替換和形式。 – jamylak
請放下分號。 – delnan
這很可能你最好在這裏通過'collections.defaultdict'服務。聲明如下:'sets = collections.defaultdict(list)'。 –