2014-11-24 37 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"]) 
相关问题