Hello guys
good day
I have a list of 4 points with x values:
[{'X': 2593.75}, {'X': 2457.42}, {'X': 2593.75}, {'X': 2457.42}] <class 'list'>
for example x(1) is:
{'X': 2457.42} <class 'dict'>
Now I need to calculate for example difference between x(1) and x(2) values:
diff = abs (x(1)-(2))
but i receive an error:
unsupported operand type(s) for -: 'dict' and 'int'
Would you please help me how to fix this problem? How can I get X integer values?
Thanks in advance for your help!
It is better to show us the code that fails.
But as a general observation, your list should have a name e.g. "L"
Then L[1] is a dictionary, not a value.
Paul
(Sep-03-2020, 12:06 PM)DPaul Wrote: [ -> ]It is better to show us the code that fails.
But as a general observation, your list should have a name e.g. "L"
Then L(1) is a dictionary, not a value.
Paul
yes L(1) is a dictionary like: L(1)={'X': 2457.42} and L(2)={'X': 2593.75}
I need to calculate values, for example 2457.42 - 2593.75 !
I do not know how to do!
(Sep-03-2020, 12:14 PM)buran Wrote: [ -> ]You really need to read some very basic things, e.g. working with dicts
https://python-forum.io/Thread-Basic-Dictionaries
Thanks for your advice, i am a beginner in python
i have a code with output x as a list:
[{'X': 2593.75}, {'X': 2457.42}, {'X': 2593.75}, {'X': 2457.42}] <class 'list'>
i want just to know if it is possible to do mathematical operation on the integer values, for example 2593.75 , ,2457.42 , ....
if yes, how?
I'm not sure if you could pack in any more errors into such a short line of code.
diff = abs (x(1)-(2))
Start with x is a list. You cannot do x(). You can do x[]. x[1] is a dictionary.
diff = abs (x[1]-(2))
Now (2) is the number 2. So this tries to subtract the number 2 from a dictionary. That is not allowed. I am going to assume you want to subtract the X number in dictionary x[1] from the X number in dictionary x[2]
diff = abs (x[1]- x[2])
This is closer but still wring because it subtracts a dictionary from a dictionary and you want to subtract the 'X' attributes.
diff = abs (x[1].X- x[2].X)
There is probably a reason you are using a list of dictionaries that is not discussed in your post instead of just putting the numbers in the list like this.
x = [2593.75, 2457.42, 2593.75, 2457.42]
(Sep-03-2020, 12:40 PM)deanhystad Wrote: [ -> ]I'm not sure if you could pack in any more errors into such a short line of code.
diff = abs (x(1)-(2))
Start with x is a list. You cannot do x(). You can do x[]. x[1] is a dictionary.
diff = abs (x[1]-(2))
Now (2) is the number 2. So this tries to subtract the number 2 from a dictionary. That is not allowed. I am going to assume you want to subtract the X number in dictionary x[1] from the X number in dictionary x[2]
diff = abs (x[1]- x[2])
This is closer but still wring because it subtracts a dictionary from a dictionary and you want to subtract the 'X' attributes.
diff = abs (x[1].X- x[2].X)
There is probably a reason you are using a list of dictionaries that is not discussed in your post instead of just putting the numbers in the list like this.
x = [2593.75, 2457.42, 2593.75, 2457.42]
Thanks for your answer.
yes,,,i have a list with dictionaries
[{'X': 2593.75}, {'X': 2457.42}, {'X': 2593.75}, {'X': 2457.42}] <class 'list'>
and i want just to subtract number values
maybe 2593.75 - 2457.42
that is all...i need only the values not dictionaries
hello guys
i found what should i do
i solved it