2012-06-23 40 views
0

我期待找到最好的pythonic方式來做到這一點。在python中有一個嵌套的字典,並想罰款一個有效的方法來追加它

嵌套字典看起來是這樣的(主要腳本):

my_dict = { test: { 
        test_a: 'true', 
        test_b: 'true 
        } 

我進口有返回數值功能的模塊。

我正在尋找從模塊返回的字典中追加到my_dict字典的方法。從模塊

即功能:

def testResults1(): 
    results = 3129282 
    return results 

def testResults2(): 
    results = 33920230 
    return results 

def combineResults(): 
    Would like to combine results, and return a dictionary. Dictionary returned is: 
    # Looking for best way to do this. 

    test_results = { 'testresults1': 3129282, 
        'testresults2': 33920230 
        } 

我然後把要追加test_results字典my_dict。 尋找最好的方式來做到這一點。

預先感謝您!

+0

爲什麼嵌套問題?你想把你的新字典插入到'my_dict'的「最高級別」,還是在'test'下? – BrenBarn

+0

my_dict的最終期望值是什麼? –

回答

0

您是否在尋找dict.update()方法?

>>> d = {'a': 1, 'b': 2} 
>>> d2 = {'c': 3} 
>>> d.update(d2) 
>>> d 
{'a': 1, 'b': 2, 'c': 3} 
+0

啊..好吧..這會工作..我可以使用d.update(myfunction)。我認爲這對我的問題的第二部分會很好。對於第一部分..你會推薦什麼來結合我打來的外部模塊中的字典結果?再次感謝您的信息。 – PythonNoob

+0

我將字典插入到nosql數據庫中,我需要爲組織目的而嵌套的字典。 – PythonNoob

0
my_dict = {} 

def testResults1(): 
    results = 3129282 
    return results 

def testResults2(): 
    results = 33920230 
    return results 

def combineResults(): 
    suite = [testResults1, testResults2] 

    return dict((test.__name__, test()) for test in suite) 

my_dict.update(combineResults()) 
print my_dict 
0
import collections 
my_dict = collections.defaultdict(lambda: {}) 

def add_values(key, inner_dict): 
    my_dict[key].update(inner_dict) 

您可以在圖書館閱讀文檔herecollections.defaultdict

相關問題