Re: [問題] 關於 if else 的問題

看板Python作者 (酷狗喵千代)時間17年前 (2008/03/21 20:28), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《apua (左右開攻)》之銘言: : 我最近學到在 python 上使用如下的語法 : (element1) if (condition) else (element2) : eg1: : ... : 0 0 0 0 0 1 0 0 0 0 : eg2: : [0, 0, 0, 0, 0, 1, 0, 0, 0, 0] : 這種語法真的很好用, 而且跟英文文法也蠻像的 : (抱歉好像有點扯遠了) : 我想請問一下, C++ 是否也有類似這種語法呀? : 還是說應該是在別的程式語言有類似的語法? 這是 Python 的 conditional expression。 作為 Pythonista,我很想說對對對,其它語言「也有」這種表示式。 不過摸著良心講,conditional expression 是從 C 學過來, 而且還是很晚 (2.5) 才加進來的語言元素: http://docs.python.org/whatsnew/pep-308.html C 一直都有 conditional expression: var = (condition) ? [var for true] : [var for false] 順序和 Python 定義的不太一樣,我常常忘記;Python 的比較好記。 在 Python 裡, 以下的 expression 常常被用來當作 conditional expression 的代用品: condition and var_for_true or var_for_false 它可以「作出」conditional expression 的效果,不過不是等價的! 這個 logical construct 如果遇到 var_for_true 評估為假的時候就會破功。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 164.107.248.238 ※ 編輯: yungyuc 來自: 164.107.248.238 (03/21 20:31) ※ 編輯: yungyuc 來自: 164.107.248.238 (03/21 20:32)

03/22 01:08, , 1F
老實說, 這兩種用法是不大一樣 ...
03/22 01:08, 1F

03/22 01:10, , 2F
比起 C, list comprehension 倒是更貼切 ...
03/22 01:10, 2F

03/28 13:11, , 3F
雖說是不大一樣, 但這正是我需要的答案, 感激
03/28 13:11, 3F

03/29 03:57, , 4F
原作寫的第一種是 conditional expression
03/29 03:57, 4F

03/29 03:57, , 5F
第二種是 list comprehension
03/29 03:57, 5F

03/29 03:58, , 6F
我只想回第一種,不過忘了刪一些引文 Orz
03/29 03:58, 6F
文章代碼(AID): #17uwdwVW (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #17uwdwVW (Python)