为什么python中的sum函数不起作用?

时间:2016-02-12 18:43:21

标签: python list python-3.x sum

这是我的代码。我想添加列表成本的总和,所以代码将返回140英镑,但它不起作用。我希望£符号在成本总和之前,以便用户知道程序显示的内容。

cost = [['Lounge', 70], ['Kitchen', 70]]
print(cost)
print("£", sum(cost))

它返回以下错误消息:

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

我在网上看过,但这些结果都没有帮助我:

sum a list of numbers in Python

How do I add together integers in a list in python?

http://interactivepython.org/runestone/static/pythonds/Recursion/pythondsCalculatingtheSumofaListofNumbers.html

Sum the second value of each tuple in a list

3 个答案:

答案 0 :(得分:2)

这样做:

print("£", sum(c[1] for c in cost))

答案 1 :(得分:2)

cost中的每个元素都是一个双元素元组。您必须提取数字,例如,使用列表解析:

print("£" + str(sum(i[1] for i in cost)))

答案 2 :(得分:1)

功能解决方案:

from operator import itemgetter

print("£", sum(map(itemgetter(1), cost)))