I am having issue cleaning dictionaries after return the one. I am using fastAPI and my API GET an Age value then I create a list of ages with 4 values including my received value.
I am looking to receive always 4 values only the input age and the other ones, in first execution the code works correctly but if I change the age the dictionary increase in one and add the new age and I have 5 values in the array.
Example code:
my_final_return={}
@api_router.get("/example-stackoverflow", tags=['Simulations'])
def example(*,current_age:int):
ages_list = [current_age,40,45,50]
for i in ages_list:
my_final_return[i]={
"current_age":i*2
}
return my_final_return
The result in first execution is correct:
However if I add a different age the new one is added also (my problem):
CodePudding user response:
your dictionary is instantiated outside of the function.
@api_router.get("/example-stackoverflow", tags=['Simulations'])
def example(*,current_age:int):
my_final_return={}
ages_list = [current_age,40,45,50]
for i in ages_list:
my_final_return[i]={
"current_age":i*2
}
return my_final_return
this will clear it out when you call the function again