reduce
python3でreduceを使うにはfunctoolsのインポートが必要。
from functools import reduce print(reduce(lambda x,y:x + y,range(1,10)))
lambdaの再帰
#階乗 f = lambda x:1 if x <= 1 else x*f(x -1) f(3) #総和 s = lambda l:0 if not l else l.pop() + s(l) s([1,2,3,4,5]) #フィボナッチ数列 fib = lambda n:n if n ==0 or n == 1 else fib(n - 1) + fib(n - 2) fib(5) #最大公約数 gcd = lambda a,b:a if b == 0 else gcd(b,a % b) gcd(1920,1080)
リスト内包表記
基本構文 [counter for counter in iterator]
[i**2 for i in range(10) if i % 5 == 0] [0, 25] #同じものをfilterとmapで書いてみる list(filter(lambda x:x % 5 == 0,map(lambda x:x**2,range(10))))