16
A
回答
38
m = 100 if t == 0 else 5 # Requires Python version >= 2.5
m = (5, 100)[t == 0] # Or [5, 7][t == 0]
上述兩個線將導致同樣的事情。
第一行使用Python版本的「三元運算符」,自2.5版開始可用,儘管Python文檔將其稱爲Conditional Expressions
。
第二行是一個小巧的黑客工具在許多提供內嵌的功能(所有重要的)方式等同於?:
在許多其他語言中(如C和C++)。文檔的Python - 5.11. Conditional Expressions
7
13
你指的是結構被稱爲ternary operator。 Python有一個版本的它(因爲版本2.5),如下所示:
x if a > b else y
3
還有:
m = t==0 and 100 or 5
因爲0是一個falsy值,我們可以這樣寫:
m = t and 5 or 100
這相當於第一個。
相關問題
- 1. 在處理載體時取代ifelse的案例陳述
- 2. R Ifelse陳述由於NAs而不能正常工作
- 3. 如果陳述在案例陳述(VB.Net)
- 4. mysql其中陳述
- 5. DocumentDB SP中陳述
- 6. 縮短嵌套ifelse
- 7. 病例陳述中的類
- 8. VHDL中的案例陳述
- 9. Slim中的案例陳述
- 10. EXCEL:AND陳述
- 11. 更新陳述
- 12. 錫罐陳述
- 13. 條件陳述
- 14. 陳述在C++
- 15. Python如果陳述多條件
- 16. 定義關係中陳述
- 17. 案例問題中陳述
- 18. WHERE和SQLite中陳述
- 19. 案件陳述中斷
- 20. 混淆'if'陳述
- 21. SQL案例陳述
- 22. Postgres案例陳述
- 23. SQL案例陳述
- 24. PDO和SQL陳述
- 25. 鎖定陳述C#
- 26. 'IF'陳述無效?
- 27. Oracle案例陳述
- 28. Oracle案例陳述
- 29. 加入我的陳述
- 30. Ironpython和未來的陳述
可能重複[python? (條件/三元)運算符](http://stackoverflow.com/questions/3091316/python-conditional-ternary-operator-for-assignments) – 2011-12-14 11:54:52
[Python三元運算符](http:// stackoverflow。 com/questions/394809/python-ternary-operator) – kay 2012-07-23 22:59:45