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
全部省略,即可实现
通过。