【发布时间】:2014-06-26 03:13:55
【问题描述】:
我希望我的挫败感会被一些启发所取代 - 这是演示问题的脚本的最小版本:
首先我创建一个字典:
dic = {
'foo':{},
'bar':{}
}
然后我们实例化一个可以迭代追加的模板字典
dic的键:
appendic= {
'is':'', # '' is a terminal value to be replaced later
}
所以这里我们将appendic 附加到dic 中的每个键:
dic['foo'] = appendic
dic['bar'] = appendic
现在我们用有意义的东西替换终端值'':
dic['foo']['is'] = 'foo'
dic['bar']['is'] = 'bar'
此时,我的直觉告诉我,如果我们调用:
print(dic['foo']['is']) 我们得到'foo'
但相反,Python 将 'bar' ... 返回给我未经训练的头脑,这是违反直觉的。
问题:
- 如何告诉 Python 保持 dic 的键独立?
- 为什么这是默认行为?这有什么用例?
【问题讨论】:
标签: python dictionary key key-value python-2.6