2014-11-24 75 views
1

位奇怪的!不支持的操作數類型爲+:'dict'和'int'

任何人都可以在這TypeError消息揭露一些燈?

csvRow.append(len(calls["outbound"] + len(calls["inbound"]))) 
TypeError: unsupported operand type(s) for +: 'dict' and 'int' 

當我這樣做,我沒有得到任何的問題,它作爲預期:

totalinbound = len(calls["inbound"]) 
totaloutbound = len(calls["outbound"]) 
csvRow.append(totalinbound + totaloutbound) 

回答

7

你的括號不正確的平衡。 calls["outbound"]應該是調用函數len在括號內:

csvRow.append(len(calls["outbound"]) + len(calls["inbound"])) 
#        ^

我從行到其中箭頭是的端部移動的閉合parethesis。

否則,你將嘗試添加len(calls["inbound"])calls["outbound"]返回的字典。這是一個TypeError

+0

感謝您爲我解決這個問題。 – 2014-11-24 16:25:47

2

您有一個錯字。

# calculates the len of (dict + len of dict) 
len(calls["outbound"] + len(calls["inbound"])) 

# calculates the len of dict + len of dict 
len(calls["outbound"]) + len(calls["inbound"]) 
相關問題