Search code examples
pythonlistpython-3.xsum

Why is the sum function in python not working?


This is my code. I want add the total of the list cost, so the code will return £140, but it is not working. I want the £ sign to be in front of the sum of the cost so the user will know what the program is displaying.

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

It returns this error message:

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

I have looked online, but none of these results have helped me:

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


Solution

  • Do this:

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

    It's basically a condensed version of this:

    numbers = []
    for c in cost:
        numbers.append(c[1])
    
    print("£", sum(numbers))