【发布时间】:2023-03-23 06:22:01
【问题描述】:
问题
我正在通过以下方式创建一个以空列表作为值的字典。
>>> words = dict.fromkeys(['coach', 'we', 'be'], [])
字典是这样的。
>>> words
{'coach': [], 'be': [], 'we': []}
当我将一个值附加到一个列表时,该值将附加到所有列表中,如本例所示。
>>> words['coach'].append('test')
{'coach': ['test'], 'be': ['test'], 'we': ['test']}
问题
我的问题有两个部分。首先,为什么会这样?其次,我能做些什么呢?也就是说,我怎样才能将一个值附加到一个列表中?
我想在创建字典时,我让所有列表都指向同一个对象。但我不明白这是怎么回事,因为当我在字典创建中输入 0 而不是 [] 然后添加值而不是附加它们时,这些值的行为会有所不同,就好像它们指向不同的对象一样。
如有任何意见,我将不胜感激。提前谢谢!
【问题讨论】:
标签: python list object dictionary append