# lambda、filter ## def 與 lambda ```python= # 用 def 定義函數 def compare_max(a,b): if a>b: return a else: return b # 用lambda運算式 compare_max = lambda a,b: a if a>b else b ``` `lambda`只能寫一行,所以複雜的還是要用 `def`。 ## filter 做篩選,並把符合條件的收集起來。 ```python= def isEven(num): if num%2==0: return True else: return False one_to_ten = [1,2,3,4,5,6,7,8,9,10] evenNumbers = filter(isEven, one_to_ten) print(list(evenNumbers)) ``` 混搭 lambda、filter,找小於 10 的偶數 ```python= result = list(filter(lambda n: True if n%2==0 else False, range(10))) print(result) ``` 找 100 以內的質數 ```python= def isPrime(n): if n<2: return False for i in range(2,n): if n%i==0: return False return True result = list(filter(isPrime, range(100))) print(result) ```