0

if I have a dictionary

example = {'cat' : 1, 'dog' : 2, 'cow' : 3, 'horse' : 4}

How would I add the values together?

I've tried

count = 0
for x in example:
    example[x] += count
    print example

But that just prints example three times. How do I do it so I get 10 as an answer?

Zero Piraeus
  • 56,143
  • 27
  • 150
  • 160
nmares12
  • 15
  • 1
  • 7

3 Answers3

2

You can use sum and dict.itervalues (dict.values in Python 3.x):

>>> example = {'cat' : 1, 'dog' : 2, 'cow' : 3, 'horse' : 4}
>>> sum(example.itervalues())
10
>>>
1

What you want is this:

example = {'cat' : 1, 'dog' : 2, 'cow' : 3, 'horse' : 4}
for x in example:
    count += example[x]
print count

Or:

example = {'cat' : 1, 'dog' : 2, 'cow' : 3, 'horse' : 4}
sum(example.values())
Magnun Leno
  • 2,728
  • 20
  • 29
0

You were close:

example = {'cat' : 1, 'dog' : 2, 'cow' : 3, 'horse' : 4}
count = 0
for x in example:
    count += example[x]
print count

https://ideone.com/xHLkIg

Magnun Leno and iCodez's answers are more elegant (and pythonic) though.

Mardoxx
  • 4,372
  • 7
  • 41
  • 67