這是指令:創建一個新的字典(通過處理原始字典),其中 Term 作為鍵,每個 Term 鍵的 (amount, rate) 元組串列。
此函式回傳 Mortgages 的字典
def getMortgages():
m_dict = {'867E23': (208000, 0.015, 120), '837E23': (156000, 0.030, 180), '467E23': (720000, 0.065, 240),
'337E23': (333000, 0.087, 120), '829E23': (241000, 0.0315, 240), '867W35': (187000, 0.033, 180),
'86E87': (165000, 0.063, 90), '86A3E3': (132000, 0.0312, 120), '367W51': (500000, 0.055, 360),
'327Q65': (320000, 0.0321, 180), '837C09': (432000, 0.0516, 240), '863M88': (812000, 0.0628, 360),
'862W76': (333000, 0.0445, 180), '86NE2B': (446000, 0.0443, 240), '862A42': (778000, 0.0523, 360)}
return m_dict
這是我創建新字典的方法:
mortgageAmount = getMortgages()
mortgageNew = dict((term, (amount, rate)) for amount, rate, term in mortgageAmount.values())
print(mortgageNew)
但現在它總結了數量和比率的所有值,
{120: (132000, 0.0312), 180: (333000, 0.0445), 240: (446000, 0.0443), 90: (165000, 0.063), 360: (778000, 0.0523)}
我想知道為什么以及如何解決這個問題以顯示每個金額和費率,而不是總結它們,如下所示:
120:[(100000,.02), (200000,.03)],
240:[(150000,0.0315)...],
...```
uj5u.com熱心網友回復:
您顯示的輸出似乎與輸入不符。話雖如此,我認為這就是你想要做的:
m_dict = {'867E23': (208000, 0.015, 120), '837E23': (156000, 0.030, 180), '467E23': (720000, 0.065, 240),
'337E23': (333000, 0.087, 120), '829E23': (241000, 0.0315, 240), '867W35': (187000, 0.033, 180),
'86E87': (165000, 0.063, 90), '86A3E3': (132000, 0.0312, 120), '367W51': (500000, 0.055, 360),
'327Q65': (320000, 0.0321, 180), '837C09': (432000, 0.0516, 240), '863M88': (812000, 0.0628, 360),
'862W76': (333000, 0.0445, 180), '86NE2B': (446000, 0.0443, 240), '862A42': (778000, 0.0523, 360)}
n_dict = dict()
for x, y, z in m_dict.values():
n_dict.setdefault(z, []).append((x, y))
print(n_dict)
輸出:
{120: [(208000, 0.015), (333000, 0.087), (132000, 0.0312)], 180: [(156000, 0.03), (187000, 0.033), (320000, 0.0321), (333000, 0.0445)], 240: [(720000, 0.065), (241000, 0.0315), (432000, 0.0516), (446000, 0.0443)], 90: [(165000, 0.063)], 360: [(500000, 0.055), (812000, 0.0628), (778000, 0.0523)]}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/465145.html
