Python: если / else в понимании dict?

В python2.7 + существует любой способ сделать что-то вроде:

{ something_if_true if condition else something_if_false for key, value in dict_.items() } 

Я знаю, что вы можете сделать что угодно, просто «если»,

 { something_if_true for key, value in dict_.items() if condition} 

  • Выполнить функцию Python в основном потоке из вызова в фиктивной нити
  • Не могу найти модуль Pygame
  • Как написать / прочитать Pandas DataFrame с помощью MultiIndex из / в ASCII-файл?
  • Python - подпроцессы и оболочка python
  • Python 2 и 3 csv reader
  • Преимущества скрученной пены - Асинхронный способ использования python suds soap lib
  • Есть ли способ передать «stdin» в качестве аргумента для другого процесса в python?
  • Печать не отображается в ноутбуке ipython - python
  • One Solution collect form web for “Python: если / else в понимании dict?”

    У вас уже есть: A if test else B – допустимое выражение python. Единственная проблема с вашим пониманием dict, как показано, заключается в том, что место выражения в понимании dict должно иметь два выражения, разделенные двоеточием:

     { (some_key if condition else default_key):(something_if_true if condition else something_if_false) for key, value in dict_.items() } 

    Предложение final if действует как фильтр, который отличается от условного выражения.

    Python - лучший язык программирования в мире.