python中带有特殊条件的用例切换
我有这个:python中带有特殊条件的用例切换,python,linux,loops,dictionary,if-statement,Python,Linux,Loops,Dictionary,If Statement,我有这个: if you == 1: one.put(argument) elif you == 3: pass elif you == 4: two.put(argument) elif you == 5: three.put(argument) ... ... ... a lot of elif 我正在尝试使用字典: settings = { 1: one 4: two, 5: three ... ... ..
if you == 1:
one.put(argument)
elif you == 3:
pass
elif you == 4:
two.put(argument)
elif you == 5:
three.put(argument)
...
...
...
a lot of elif
我正在尝试使用字典:
settings = {
1: one
4: two,
5: three
...
...
...
other elemets of dict
}
if you in settings:
settings[you].put(argument)
elif you == 3:
pass
try:
settings[you].put(argument)
except KeyError:
pass
一切正常,但我不知道如何在字典中添加:
settings = {
1: one
4: two,
5: three
...
...
...
other elemets of dict
}
if you in settings:
settings[you].put(argument)
elif you == 3:
pass
try:
settings[you].put(argument)
except KeyError:
pass
您认为,添加
将语句传递给dictionary的更好方法是什么?首先,当您使用dictionary时,不需要在设置中检查该项是否存在。在这种情况下使用字典的全部意义在于避免检查
其次,如果只有3,您可以简单地使用If
条件:
if you == 3:
pass
else:
settings[you].put(argument)
如果有更多这样的项目,您可以使用尝试,除非(字典中没有):
请注意,由于请求原谅通常比请求许可更容易,因此在这种情况下,try-except
方法更干净、更通俗,但是如果缺少密钥,也可以使用dict.get()
来代替直接索引,它返回None
。然后,您可以检查结果是否为None
,然后只需执行pass
首先,在使用字典时,不需要在设置中检查该项是否存在。在这种情况下使用字典的全部意义在于避免检查
其次,如果只有3,您可以简单地使用If
条件:
if you == 3:
pass
else:
settings[you].put(argument)
如果有更多这样的项目,您可以使用尝试,除非(字典中没有):
请注意,由于请求原谅通常比请求许可更容易,因此在这种情况下,try-except
方法更干净、更通俗,但是如果缺少密钥,也可以使用dict.get()
来代替直接索引,它返回None
。然后,您可以检查结果是否为None
,然后只需执行pass
由于设置为:
时有,只需将dict
中的3
全部省略,即可实现通过。由于设置为:
时有,只需将dict
中的3
全部省略,即可实现通过。