记住字典的价值

2024-09-28 17:04:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python有点新手,但有没有可能做到以下几点? 我想创建一个字典,试管,它能显示里面有什么液体和它的数量。通过函数add_liquid,我想在试管中添加一种新的或更多以前使用过的液体,而不使用defaultdicts。在

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}

Python一定要记住先前试管里的液体量。 任何建议都将不胜感激!在


Tags: 函数testadd数量字典defmore新手
3条回答

你会想要这样的东西:

if liquid not in test_tube.keys():
    test_tube.update({liquid:milliliters})
else:
    test_tube[liquid] += milliliters

如果我没弄错你的问题,你只需要检查液体是否已经在里面了,如果是的话,再加上数量。在

if liquid in test_tube:
    test_tube[liquid] += milliliters
else: 
    test_tube[liquid] = milliliters

另一种公式化方法是将值设置为当前值或0的总和(无)和毫升:

^{pr2}$

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

您希望将test_tube存储为一个变量,通过该变量可以添加_liquid()。另外,如果它已经存在,你希望它加到液体值中。在

def add_liquid(test_tube,liquid,milliliters=0):
    test_tube[liquid] = test_tube.setdefault(liquid, 0) + milliters
    return test_tube

test_tube = add_liquid(test_tube,'water',10)
more_water = add_liquid(test_tube,'water',5)

等等

相关问题 更多 >