簡體   English   中英

在現有的python詞典鍵上添加更多值

[英]Adding more values on existing python dictionary key

我是python的新手,我在制作字典時遇到困難..請幫助:)

這是我開始的:

dict = {}
dict['a']={'ra':7, 'dec':8}
dict['b']={'ra':3, 'dec':5}

到目前為止一切都很完美。 我明白了:

In [93]: dict
Out[93]: {'a': {'dec':8 , 'ra': 7}, 'b': {'dec': 5, 'ra': 3}}

但現在,如果我想為關鍵'a'添加更多內容,我會:

dict['a']={'dist':12}

然后它刪除了先前的'a'信息,我現在得到的是:

In [93]: dict
Out[93]: {'a': {'dist':12}, 'b': {'dec': 5, 'ra': 3}}

我想擁有的是:

In [93]: dict
Out[93]: {'a': {'dec':8 , 'ra': 7, 'dist':12}, 'b': {'dec': 5, 'ra': 3}}

有人可以幫忙嗎?

>>> d = {}
>>> d['a'] = {'ra':7, 'dec':8}
>>> d['b'] = {'ra':3, 'dec':5}
>>> d['a']['dist'] = 12
>>> d
{'a': {'dec': 8, 'dist': 12, 'ra': 7}, 'b': {'dec': 5, 'ra': 3}}

如果要從另一個字典更新字典,請使用update()

使用其他鍵中的鍵/值對更新字典,覆蓋現有鍵。

>>> d = {}
>>> d['a'] = {'ra':7, 'dec':8}
>>> d['b'] = {'ra':3, 'dec':5}
>>> d['a'].update({'dist': 12})
>>> d
{'a': {'dec': 8, 'dist': 12, 'ra': 7}, 'b': {'dec': 5, 'ra': 3}}

另外,不要使用dict作為變量名 - 它會影響內置的dict類型。 看看會發生什么:

>>> dict(one=1)
{'one': 1}
>>> dict = {}
>>> dict(one=1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'dict' object is not callable

做這個:

dict['a']['dist'] = 12

嘗試這個:

dict['a'].update( {'dist': 12} )

不要將{'dist':12}分配給dict['a'] ,而是使用update方法。

dict['a'].update( {'dist':12} )

這樣做的優點是不需要“拆分”新字典以找到要插入目標的密鑰。 考慮:

a = build_some_dictionary()
for k in a:
    dict['a'] = a[k]

dict['a'].update(a)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM