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中先前的液体量.任何意见,将不胜感激!
如果我正确理解您的问题,您只需要检查液体是否已经存在,如果是,请添加金额.
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)
请注意,您需要定义您的函数,以便它修改您传入的字典(然后您不应该真正返回任何内容),或者它返回它的修改后的副本.