在python中使用具有特殊条件

时间:2017-05-08 20:33:25

标签: 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
    ...
    ...
    ...
    other elemets of dict
    }

    if you in settings:
        settings[you].put(argument)

一切都好,但我不知道,如何在字典中添加:

elif you == 3:
    pass

您如何思考,将pass语句添加到词典的更好方法是什么?

1 个答案:

答案 0 :(得分:2)

首先,当您使用字典时,不需要在setting中检查项目是否存在。在这种情况下使用字典的重点是避免检查。

其次,如果它只有3,你可以简单地使用if条件:

if you == 3:
    pass
else:    
    settings[you].put(argument)

如果还有更多这样的项目,您可以使用try-except(不在词典中使用它们):

try:
    settings[you].put(argument)
except KeyError:
    pass

请注意,由于它通常更容易请求宽恕而不是权限,因此try-except方法在这种情况下更干净且更具Pythonic,但不是直接索引你可以还可以使用dict.get(),以便在错过密钥时返回None。然后,您可以检查结果是否为None,然后执行pass