Python:替代“if”条件列表

The*_*Dan 1 python python-3.x

我正在寻找在更少的代码行中使用多个“if”条件的更优雅的替代方案。大多数条件都非常简单,如示例所示:

        if status == 'young':
            i = 1
        elif status == 'middle age':
            i = 3
        elif status == 'elder':
            i = 4
        elif status == 'baby':
            i = 5
        elif status == 'deceased':
            i = 6
Run Code Online (Sandbox Code Playgroud)

我想做一些类似的事情:

if status == 'young', 'mid age', 'elder'...
   i = 1, 3, 4...
Run Code Online (Sandbox Code Playgroud)

在python中可以吗??

cri*_*007 11

使用字典

statuses = {'young': 1, 'middle age': 3}
i = statuses.get(status)
Run Code Online (Sandbox Code Playgroud)

  • 如果您需要模拟“else”,则“.get”的第二个参数是当键不在字典中时默认返回的。 (2认同)