Skip to main content
 首页 » 编程设计

python之求和对 python map 的预期效果

2024年10月01日32kerrycode

sum(map(len, ["a", "aa", "aaa"])) 给我一个 map 而不是一个数字。

我预计这会给出与 sum(len(thing) for thing in ["a", "aa", "aaa"]) 相同的结果(即 6)。

我看到 list(sum(map(len, ["a", "aa", "aaa"]))) 返回给我 [1, 2, 3],就好像 sum 没有效果一样。

我认为这种行为是有原因的。有这方面的预期用例吗?

请您参考如下方法:

我似乎在使用 ipython 并且内置的 sum 函数被“模块 numpy.core.fromnumeric 中的函数 sum”掩盖了(根据 帮助(求和))。我怀疑发出命令 %pylab 的效果。

__builtin__.sum(map(len, ["a", "aa", "aaa"])) 给出预期的 6。