numpy.sum()与Python 3的不兼容性

时间:2013-05-05 03:13:46

标签: python-2.7 map python-3.x

在Python 2.7中,可以写:

sum(map(int, "123"))

在Python 3中,它成了:

sum(x for x in map(int, "123"))

有没有办法让它更简洁?

编辑:

我正在运行pylab,它会从sum()导入numpy,从而改变第一个代码段的语义。对于Python 2.7和Python 3.3,IDLE产生的结果与DSM注意到的相同。

注:

我很感激任何人对这个问题进行投票,并以简短的解释发表评论。我编辑了标题(最初:有没有办法在Python 3中找回map()的简明符号?)以反映我对底层问题的更好理解。还有什么困扰你?

3 个答案:

答案 0 :(得分:2)

Python 3中仍然存在

map;实际上,您的第一个代码段应该仍然有效。

答案 1 :(得分:0)

Python3-ish的做法越多

sum(int(d) for d in "123")

虽然有人指出,map()仍然存在。

答案 2 :(得分:-2)

Oooops,我在相关问题链接中找到了答案:

sum(list(map(int, "123")))