AlgoDesign

Closures

1class Solution:
2    def closure(self):
3        self.usingClosure()
4        self.notUsingClosure()
5    
6    def usingClosure(self):
7        increment_by_i = [lambda x: x + i for i in range(10)]
8        print(increment_by_i[3](4))
9    
10    def notUsingClosure(self):
11        def createIncrementFunction(x):
12            return lambda y: y + x
13        
14        increment_by_i = [createIncrementFunction(i) for i in range(10)]
15        print(increment_by_i[3](4))