You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中map函数报错‘Int is not iterable’的原因解析

为什么map(list, [1,2])报错而map(list, ['a','b'])正常?

要搞懂这个问题,得先明确两个关键逻辑:

  • map(func, iterable) 的作用是把iterable中的每个元素依次传入func执行,最终收集所有返回值生成迭代器。
  • list() 函数必须接收可迭代对象(比如字符串、列表、元组等)作为参数,它的功能是将可迭代对象转化为列表;如果传入非可迭代对象(比如整数),就会抛出TypeError: 'int' object is not iterable错误。

具体分析两个例子:

  • 执行map(list, [1,2])时,map会依次把整数1和2传入list()函数。但整数属于非可迭代对象,list(1)直接触发报错,导致整个代码运行失败。
  • 执行map(list, ['a','b'])时,map依次把字符串'a'和'b'传入list()函数。字符串是可迭代对象(可以看作单个字符组成的序列),list('a')会返回['a'],list('b')返回['b'],最终list(map(...))会把这些结果收集成[['a'], ['b']],因此能正常运行。

内容的提问来源于stack exchange,提问作者Pratham Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 03:01:05