其實一直不太清楚為什麼 Python 內建的語法會沒有 switch/case 的用法,所以這時候只好自己做一下了
如果本來在 C 裡會寫這樣:x = 0;
switch (value) {
case 1:
x += 1;
break;
case 2:
x *= 5;
break;
...
}
那在 Python 裡可以寫成這樣:x = 0
{
1: lambda y: y += 1,
2: lambda y: y *= 5
...
}[value](x)
簡單地說就是用 dictionary 來作。
2008年4月29日 星期二
Python 版的 switch case
訂閱:
張貼留言 (Atom)
3 意見:
感謝無私的分享!: D
我都直接用if else 就好了
在lambda y : y += 1那邊是不是應該改成lambda y : y + 1還有lambda y : y * 5
我試了一下好像這樣才能得到相同的結果
張貼留言