我如何在python中使用函数内部迭代?

时间:2017-08-20 05:42:47

标签: python

我需要运行此代码:

pp = ["first", "second", "third"]
sum(d for d in pp)

我得到error

TypeError: unsupported operand type(s) for +: 'int' and 'str'

我想与懒惰评估有关。你能帮帮我吗?

谢谢你!

2 个答案:

答案 0 :(得分:1)

隐私sum()

start buildin函数为0。它只需要数字并返回总数。不允许string。所以,你超过error。相反,您可以使用''.join()函数加入列表。

喜欢:

pp = ["first", "second", "third"]
sum = ''.join(pp)
print(sum)

输出:

firstsecondthird

答案 1 :(得分:0)

Python docs

  

从左到右汇总开始和迭代的项目并返回总数。 start默认为0. iterable的项目通常是数字,起始值不允许是字符串

默认情况下,start0,它是一个整数。 sum(d for d in pp)尝试将整数与字符串相加。