У меня есть ниже список с dicts:Не удалось изменить поле в списке питона
categories=[
{'id':0,'value':8,'name':'Banking'},
{'id':1,'value':5,'name':'Home'},
{'id':2,'value':2,'name':'Travel'},
{'id':3,'value':4,'name':'Movies'},
{'id':4,'value':7,'name':'Hiking'},
{'id':5,'value':9,'name':'Food'},]
Am пытается пройти через все значения из списка выше и обновить их, как показано ниже:
for cat in categories:
if(cat['value']==2):
cat['value']=1
if(cat['value']==3):
cat['value']=4
if(cat['value']==4):
cat['value']=8
if(cat['value']==5):
cat['value']=12
if(cat['value']==8):
cat['value']=40
......
(from 2 till 10 in if condition)
Проблема с таким подходом заключается в том, что , например, cat['value']
для имени Банковское дело: 8 , поэтому выше, если условие установит значение в 40.
, а затем в цикле, cat['value']
Фильмы стали 8 из 4, а позже обновляется в 40 .. (теперь он испортил cat['values']
)
Таким образом, этот подход обновления неверен точно.
Как я могу обновить cat['values']
моего списка, основанных на этих множественных условиях?
Может быть, я могу обрамляю, если условия в другой список, если требуется, как этот [{2:1},{3:4},{4:8},{5:12},....]
Не могли бы вы мне помочь с подходом, о том, как я могу получить мои cat['values']
обновляются в соответствии с условиями выше?
использование 'elif' (читай«еще, если») вместо' if' кроме первого 'if' – DainDwarf