这是一本字典吗?列出bug?

时间:2017-06-01 22:26:42

标签: python list debugging append

任何人都可以理解这一点:

方法1

In[25]: dico = {'A': [], 'B': []}
In[26]: dico['A'].append(1)
In[27]: print(dico)
{'B': [], 'A': [1]}

方法2

In[28]: letters = ['A', 'B']
In[29]: dico = dict.fromkeys(letters, [])
In[30]: print(dico)
{'B': [], 'A': []}
In[31]: dico['A'].append(1)
In[32]: print(dico)
{'B': [1], 'A': [1]}

我无法弄清楚为什么在第二种情况下每个键都附加了值......这是一个严重的错误或者我很累......

1 个答案:

答案 0 :(得分:0)

你可以通过字典理解很好地完成这项工作:

dico = {k: [] for k in letters}