Python使用zip函数搭配列表推导时报'int'对象不可调用的原因
报错原因
你编写的代码中错误覆盖了Python内置的sum()求和函数,具体问题点:
- 代码第一行你写了
sum=0,这行代码将原本指向Python内置求和函数的sum标识符,重新赋值为了整数类型的0 - 后续执行
lst2=[sum(i) for i in zip(*lst)]语句时,解释器识别到的sum是你定义的整数0,尝试对整数执行调用操作是非法的,因此抛出TypeError: 'int' object is not callable错误
修复方法
- 修改自定义的变量名,不要使用
sum这类内置函数名作为变量名,可替换为total、sum_val等不冲突的名称 - 额外注意原代码第一行两个赋值语句之间缺少分隔符,需要补充分号,修改后第一行示例:
total = 0; N,X = list(map(int, input().split()))
内容的提问来源于stack exchange,提问作者Soma Seal
相关产品推荐
相关产品推荐

