How do I assign a dictionary value to a variable in Python?

floatingeyecorpse picture floatingeyecorpse · Nov 17, 2012 · Viewed 81.3k times · Source

I'm an amateur when it comes to programming, but I'm trying my hand at Python. Basically what I want to be able to do is use math on a dictionary value. The only way I could think to do it would be to assign a dictionary value to a variable, then assign the new value to the dictionary. Something like this:

my_dictionary {
    'foo' = 10,
    'bar' = 20,
    }

variable = my_dictionary['foo']
new_variable += variable
my_dictionary['foo'] = new_variable

However, when I try to assign a variable this way, I get a syntax error. Is there a better and straightforward way to do this?

EDIT: Also, I am only using this as an example. Let's say this is a block of code, not the entire program. The fact that new variable has not been declared is completely irrelevant, I just want to know how to perform math to a dictionary value. Also, I am attempting to access a dictionary outside of the function I have my code in.

Answer

nkr picture nkr · Nov 17, 2012

There are various mistakes in your code. First you forgot the = in the first line. Additionally in a dict definition you have to use : to separate the keys from the values.

Next thing is that you have to define new_variable first before you can add something to it.

This will work:

my_dictionary = {'foo' : 10, 'bar' : 20}

variable = my_dictionary['foo']
new_variable = 0 # Get the value from another place
new_variable += variable
my_dictionary['foo'] = new_variable

But you could simply add new_variable directly to the dict entry:

my_dictionary = {'foo' : 10, 'bar' : 20}

variable = my_dictionary['foo']
new_variable = 0 # Get the value from another place
my_dictionary['foo'] += new_variable