Python使用map方法时报TypeError: 'list' object is not callable求助
问题原因与解决方案
核心原因
你当前的运行环境中,Python内置的list构造函数已经被你自定义的同名变量覆盖。大概率是你之前执行过类似list = [1,2,3]的赋值操作,此时list不再是可调用的内置构造函数,而是普通的列表对象,当你执行list(map(...))尝试把map对象转为列表时,相当于调用列表对象,因此触发该报错。
解决方案
分两种场景处理:
- 交互环境(Python终端、Jupyter Notebook等):
直接执行del list删除你自定义的同名变量,即可恢复内置list函数的功能,再次运行你提供的代码就会正常输出[2, 4, 6, 8]。 - 脚本文件(.py格式代码):
全局搜索整个脚本中所有把list作为变量名的赋值语句,将变量名修改为不和内置名称冲突的命名即可,比如改为my_list、data_list。
避坑提示
日常写Python代码时,不要使用list、str、int、dict、map这类Python内置的类型/函数名作为自定义变量名,可避免出现同类命名覆盖导致的异常。
内容的提问来源于stack exchange,提问作者Sumanth H S
相关产品推荐
相关产品推荐

