MW211 EXIT

devlog
Python/変換処理
2020年11月18日
┌──────────────────────────────────────┐
│switch (入力) {                                                             │
│    case "a": 出力 = "A";  break;                                           │
│    case "b": 出力 = "B";  break;                                           │
│    case "c": 出力 = "C";  break;                                           │
│    default : 出力 = 入力; break;                                           │
│}                                                                           │
└──────────────────────────────────────┘
上記のような処理をPythonで記述する場合、以下のようなif文にならざろうえない。
┌──────────────────────────────────────┐
│if 入力 == "a":                                                             │
│    出力 = "A"                                                              │
│elif 入力 == "b":                                                           │
│    出力 = "B"                                                              │
│elif 入力 == "c":                                                           │
│    出力 = "C"                                                              │
│else:                                                                       │
│    出力 = 入力                                                             │
└──────────────────────────────────────┘
これをスマートに記述するには連想配列を駆使するのがよいようだ。
┌──────────────────────────────────────┐
│aryConv = {                                                                 │
│    "a" :"A",                                                               │
│    "b" :"B",                                                               │
│    "c" :"C"                                                                │
│}                                                                           │
│if 入力 in aryConv:                                                         │
│    出力 = aryConv[入力]                                                    │
│else:                                                                       │
│    出力 = 入力                                                             │
└──────────────────────────────────────┘

必ず該当するのであれば以下もあり。
┌──────────────────────────────────────┐
│出力 = {                                                                    │
│    "a" :"A",                                                               │
│    "b" :"B",                                                               │
│    "c" :"C"                                                                │
│}.get(入力, 入力)                                                           │
└──────────────────────────────────────┘
分類:Python