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

103,111

Solution 1

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

Solution 2

Try This. It worked for Me.

>>> d = {'a': 1, 'b': 2}
>>> locals().update(d)
>>> print(a)
1

Solution 3

You are trying to operate on a variable that doesn't exist

new_variable += variable

new_variable isn't defined, so you can't increment it. Simply try.

my_dictionary['foo'] += my_dictionary['foo']

I'm assuming the my_dictionary is just pseudocode, and not actually the definition you're using in your code, otherwise that is invalid too.

Share:
103,111
floatingeyecorpse
Author by

floatingeyecorpse

Updated on February 28, 2020

Comments

  • floatingeyecorpse
    floatingeyecorpse about 4 years

    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.