如何在另一个空字典中输入字典?
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}]
示例代码-
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}]