我正在尝试使用以下代码创建以下嵌套的dict结构{0: {0: 1}, 1: {0: 1, 1: 1}}
:
feats = {}
for i in range(2):
feat = feats.get(i, {})
for j in range(i+1):
feat[j] = 1
但是我得到的是
feats = {}
。这是为什么?谢谢。 最佳答案
这里的问题是,您没有在feat
中存储feats
值,因此在每次迭代之后它都会丢失。在迭代结束时,feats
为空。
您可以按照以下方式修复代码:
feats = {}
for i in range(2):
feat = feats.get(i, {})
for j in range(i+1):
feat[j] = 1
feats[i] = feat
print(feats)
输出:
{0: {0: 1}, 1: {0: 1, 1: 1}}