我嘗試使用map調用的lambda函數初始化數組,並且在我的surprize IF-ELSE
在lambda中無效。lambda內的條件
a = map((lambda x: if (len(aDict[x])==m): return aDict[x] else: return false),
aDict.keys())
這是錯誤我得到
File "objects.py", line 63
a = map((lambda x: if (len(aDict[x])==m): return aDict[x] else: return false),
^
SyntaxError: invalid syntax
這是什麼不起作用的原因是什麼?
編輯:
現在我發現了有趣的選擇表達
>>> False and 'one' or 'two'
'two'
>>> True and 'one' or 'two'
'one'
非常有趣......這是一個班輪表達,這就是爲什麼它活像
您的編輯工作,因爲Python返回在布爾表達式中評估的最後一項,布爾評估也可能時短路。例如,'''和'a''返回'''''。這比讀寫if/else要清楚得多,所以除非你出於性能原因需要它,否則它可能不是最好的選擇。 –