1

在 Python 2.7 中可以这样写:

sum(map(int, "123"))

在 Python 3 中,它变成了:

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

有没有办法让它更简洁?

编辑:

我正在运行 pylab,它sum()numpy第一个片段的语义变化中导入。正如 DSM 所注意到的,IDLE 为 Python 2.7 和 Python 3.3 产生了相同的结果。

笔记:

我会感谢任何人否决这个问题并发表简短解释的评论。我编辑了标题(最初是:Is there a way to get a concise notation for map() in Python 3?)以反映我对潜在问题的更好理解。还有什么困扰你?

4

3 回答 3

2

map still exists in Python 3; in fact, your first code snippet should still work.

于 2013-05-05T03:17:15.320 回答
0

更类似于 Python3 的做法是

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

尽管如前所述, map() 仍然存在。

于 2013-05-05T03:28:35.190 回答
-2

Oooops, I found an answer in related questions links:

sum(list(map(int, "123")))
于 2013-05-05T03:16:44.157 回答