Питон-эквивалент короткой формы «if» в C ++

Возможный дубликат:
Терминальный оператор Python

Есть ли способ написать этот код C / C ++ в Python? a = (b == true ? "123" : "456" )

Спасибо!

4 Solutions collect form web for “Питон-эквивалент короткой формы «if» в C ++”

 a = '123' if b else '456' 

В то время как a = 'foo' if True else 'bar' является более современным способом выполнения тройного оператора if (python 2.5+), эквивалент вашей версии 1 к 1 может быть:

 a = (b == True and "123" or "456" ) 

… который в python должен быть сокращен до:

 a = b is True and "123" or "456" 

… или если вы просто хотите проверить правдивость значения b в целом …

 a = b and "123" or "456" 

? : ? : можно буквально поменять местами and or

Моя загадочная версия …

 a = ['123', '456'][b == True] 

См. PEP 308 для получения дополнительной информации.

  • все устаревшие данные компиляции swig + python + mingw устарели?
  • EXIF как вещь для видео
  • Как получить доступ к C глобальной структуре переменных с помощью Python и ctype
  • Вычисление строки, основанной на том, как это похоже на английский
  • Запуск сценариев python в приложении iOS
  • Ptyon Ctypes, проходящий в указателе и возвращающий структуру
  • C ++ Структура внутри себя?
  • Почему импорт Python не может работать как C #include?
  • Cython: шаблоны в оболочках класса python
  • Получить все глобальные переменные / локальные переменные в интерфейсе python gdb
  • python ctypes и sysctl
  • Python - лучший язык программирования в мире.