我想計算域內偶數的和。我有兩個解決方案,但我不確定每個解決方案的優缺點。哪個是最佳解決方案?這兩個解決方案之間有什麼區別 - lambda或loop - Python
import sys
domain = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Cal1 = sum(filter(lambda n : n % 2 == 0, domain))
Cal2 = sum([n for n in domain if n % 2 == 0])
sys.stdout.write("Cal1 = {0}\n".format(Cal1))
sys.stdout.write("Cal2 = {0}\n".format(Cal2))
感謝名單親愛的^ _^ 那麼,有什麼用拉姆達的?我怎麼可以在我的程序中使用? 例子PLZ .. – kilobaik 2010-06-19 18:30:12
'lambda'用於當你需要傳遞一個短功能的東西,而這個功能只是輸入的基本轉換。例如,Python庫中的一些'sort'函數允許您將函數傳遞給它們以比較兩個項目,如果您想以非標準方式對列表進行排序 - 那麼您可以使用類似'lambda x,y:<這裏x和y之間的比較>'。另外,不客氣。 :) – Amber 2010-06-19 18:31:52
@Karamela:例如:'reduce(lambda acc,(i,x):acc^i^x,enumerate(arr),0)'http://stackoverflow.com/questions/2605766/how-to-找到一個重複的元素在一個陣列混洗連續整數 – jfs 2010-06-19 18:36:01