记住字典的值

use*_*011 0 python dictionary function add updates

我是Python的新手,但有可能做到以下几点吗?我想创建一个字典test_tube,它显示了它中的液体和它的数量.使用add_liquid函数,我想在测试管中添加一种或多种新液体或更多液体,而不使用默认值.

Def add_liquid(test_tube,liquid,milliliters=0):
     test_tube[liquid] = milliters
     return test_tube 
     #update of previous test tube and memorize new test tube           

>>>add_liquid(test_tube,'water',10) 
{'water':10}
>>>more_water=add_liquid(test_tube,'water',5)
>>>more_water
{'water':15}
>>>add_liquid(test_tube,'ethanol',1)
{'ethanol':1, 'water':15}
Run Code Online (Sandbox Code Playgroud)

Python必须以某种方式记住test_tube中先前的液体量.任何意见,将不胜感激!

Thi*_*ien 5

如果我正确理解您的问题,您只需要检查液体是否已经存在,如果是,请添加金额.

if liquid in test_tube:
    test_tube[liquid] += milliliters
else: 
    test_tube[liquid] = milliliters
Run Code Online (Sandbox Code Playgroud)

另一种表达方式是将值设置为当前值的总和,或者将0设置为no和ml:

test_tube[liquid] = test_tube.get(liquid, 0) + milliliters
Run Code Online (Sandbox Code Playgroud)

请注意,您需要定义您的函数,以便它修改您传入的字典(然后您不应该真正返回任何内容),或者它返回它的修改后的副本.