这是我的代码。我想添加列表成本的总和,所以代码将返回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
答案 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)))