我有一個名爲dictdict字典的字典,它看起來像:的Python轉換字典中的值列出,並附加項目
dictdict = { 'key1': {'subkey1': 4, 'subkey2': 7},
'key2': {'subkey1': 6, 'subkey2': 8} }
...等等。 dictdict
有幾十個鍵,每個鍵有幾十個子鍵,每個子鍵對應一個整數值。
我想追加一個列表到每個單獨的值,保持已經存在的值作爲我的新值列表中的第一項。因此,期望的結果將具有與以前相同的詞典結構字典,除了替代對應於單個整數的子鍵,它們將對應於包含整數和字符串的列表(因此包含我的原始值的列表作爲第一項由各種整數和字符串)。
我想要的東西,看起來落得像:
dictdict = { 'key1': {'subkey1': [4, 'apple', 37],
'subkey2': [7, 'orange', 19]},
'key2': {'subkey1': [6, 'kiwi', 76],
'subkey2': [8, 'banana', 29]} }
當我嘗試這個...
#convert each nested value into a one item list
for key in dictdict:
for subkey in dictdict[key]:
dictdict[key][subkey] = [dictdict[key][subkey]]
#now that our values are lists, append some items to the list
dictdict["key1"]["subkey1"].append('a1', a2)
...它幾乎工作,因爲我可以追加一個列表每個值(hooray!),但每個列表中的第一個項目(我的原始值)現在是它自己的一個項目列表(oops!)。
所以我最終
dictdict[key1][subkey1]
與此對應
[[4], 'a1', a2]
,但我想它對應於這個
[4, 'a1', a2]
而且,它可能去瓦特/輸出說,但我是一個新手。
你的代碼幾乎適用於我。將單個值轉換爲列表的循環,至少可以完美工作。 'append'調用很麻煩。你確定你沒有錯誤地運行循環兩次嗎? – Blckknght 2013-02-14 03:34:09
'.append'只需一個參數 – wim 2013-02-14 03:39:08
嘗試'dictdict [「key1」] [「subkey1」] + = ['a1','a2']' – 2013-02-14 03:45:16