Spoustě lidí chybí v Python'u konstrukce pro vícenásobné větvení (switch-case). Za pomoci slovníků (a případně i lambda-funkcí) se dá v některých případech nahradit např. následujícím kódem:
Předchozí příklad má samozřejmě své mouchy. Především neřeší společné chování pro více větví (tedy vynechané break; které ovšem spousta jazyků ani nepovoluje). Na druhou stranu, kdyby ho někdo opravdu potřeboval a nechtěl použít standardní if-elif-else, pořád může provést vícenásobné mapování pomocí dalšího slovníku (ať už přímo nebo třeba mapováním přes funkci).
Na druhou stranu má své plusy – v kolika jiných jazycích máte takovou svobodu volby pro klíče slovníku?
Existují i další způsoby, jak switch-case nahradit. Řešení pomocí slovníku má však náročnost O(1), což je lepší než jiné jazyky, kde se interně switch-case nahrazuje sadou ifů a rychlost se získává pouze zařazením potenciálně nejpravděpodobnějších výsledků na začátek.