关于列表:为什么python中的sum函数不起作用?

Why is the sum function in python not working?

本问题已经有最佳答案,请猛点这里访问。

这是我的密码。我想加上总的清单成本,所以代码将返回140英镑,但它不起作用。我希望在费用总额前面有英镑的符号,这样用户就可以知道程序显示的是什么。

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

它返回此错误消息:

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

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

用python对数字列表求和

在Python中,如何将列表中的整数相加?

http://interactivephython.org/runestone/static/pythonds/recursion/pythonds calculatingthesumofalistofnumbers.html

求和列表中每个元组的第二个值


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

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

这样做:

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


功能解决方案:

1
2
3
from operator import itemgetter

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