python 如何在字典中添加新值?

mwyxok5s  于 2023-05-27  发布在  Python
关注(0)|答案(5)|浏览(220)

如果我有一个样本dict:

mydict = {1:{2:'A'}}

我如何将新数据添加到键1,以便它可以像这样:

mydict = {1:{2:'A'},{3:'B'}}

当我做mydict.update({3:'B'})
我得到:{1: {2: 'A'}, 3: 'B'}不是{1: {2: 'A'}, {3: 'B'}}
如果我使用相同的键尝试.update,它只会替换数据:
mydict.update({1:{3:'B'}})变为{1: {3: 'B'}}

vtwuwzda

vtwuwzda1#

只需添加

mydict[1].update({3:'B'})
h6my8fg2

h6my8fg22#

mydict ={2:'a',3:'b'}
 d={1:mydict}
 print (d)
 {1: {2: 'a', 3: 'b'}}
 
 to update more key:values you can add to mydict
gdx19jrr

gdx19jrr3#

一个键只能引用一个项如果你想让一个键存储两个不同的项,可以让这个键引用另一个字典
比如说

sub_dict = {2:'A' , 3:'B'}
my_dict = {1:sub_dict}

可以按如下方式访问不同的项目

print(my_dict[1][2]) #this prints A
print(my_dict[1][3]) #this prints B

希望这有帮助:)

jvlzgdj9

jvlzgdj94#

这里有一个很好的图书馆:

from collections import defaultdict

d = defaultdict(dict)
d['person']['name']='frank'
d['person']['age']='age'

然后你就可以很容易地从你的2键中获取数据了!例如:

print d['person']['name']
dluptydi

dluptydi5#

当您执行mydict.update({3:'B'})时,您正在更新错误的字典。
看起来您想要更新mydict[1]中的字典
这是假设你实际上想要一个{1: {2: 'A', 3: 'B'}}的结果,因为你的例子{1: {2: 'A'}, {3: 'B'}}不是有效的python。
所以试试mydict[1].update({3:'B'})

相关问题