[a<b] неявно приводится к типу int. True - 1, False - 0.
В первом случае всё просто - берётся либо 0, либо 1 элемент.
Во втором случае [a<b] возвращает либо True, либо False, и из словаря возвращается значение по ключу.
В третьем есть кортеж из 2 лямбда функций. 1-ая возвращает b, 2-ая - a, и нужная функция выбирается как в первом случае