如何在另一个空字典中输入字典?

How can I enter a dictionary inside an another empty dictionary?

示例代码-

innerdict = {}
outerdict = {}
for line in range(1, 10, 2):
    for j in range(1, 10, 2):
        line_tuple = ("Item" + str( line ), int( line ))
        key = line_tuple[1]
        if line ==j:
           outerdict[key] = dict( innerdict )
           outerdict[key] = {'Name': '{0}'.format( "item"+str(j) ), 'Price': '{0}'.format( j )}
print(outerdict)

输出结果是这样的-

{1: {'Name': 'item1', 'Price': '1'}, 3: {'Name': 'item3', 'Price': '3'}, 5: {'Name': 'item5', 'Price': '5'}, 7: {'Name': 'item7', 'Price': '7'}, 9: {'Name': 'item9', 'Price': '9'}}

上面的输出是可以实现的,因为它是常规的。我在网上找到了很多关于嵌套字典理解的建议。

但我希望输出如下所示-

{{'Name': 'item1', 'Price': '1'}, {'Name': 'item3', 'Price': '3'}, {'Name': 'item5', 'Price': '5'},  {'Name': 'item7', 'Price': '7'}, {'Name': 'item9', 'Price': '9'}}

提前致谢!

你想要的是字典列表之类的东西。而这个 {{'Name': 'item1', 'Price': '1'}, {'Name': 'item3', 'Price': '3'}, {'Name': 'item5', 'Price': '5'}, {'Name': 'item7', 'Price': '7'}, {'Name': 'item9', 'Price': '9'}} 是无效的,因为字典被认为是一个键值对,并且没有键。

可以通过将上面的赋值给一个变量然后检查它的类型来检查。

d = {{'Name': 'item1', 'Price': '1'}, {'Name': 'item3', 'Price': '3'}, {'Name': 'item5', 'Price': '5'},  {'Name': 'item7', 'Price': '7'}, {'Name': 'item9', 'Price': '9'}}
print(type(d))

它会导致一个错误,说它是不可散列的。

这是不可能的,因为 dict 对象不可哈希。

{{1:2}} 意味着将字典 {1:2} 放入 set,这是不可能的,因为上述对象的不可散列性。最好将它们放在列表中:

[{1:2}, {2:3}]