How do I assign a dictionary value to a variable in Python?
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.
floatingeyecorpse
Updated on February 28, 2020Comments
-
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.