Odroczona ocena za pomocą lambda w Pythonie

W pętli próbuję odroczyć porównanie dwóch wartości () s dwóch węzłów do późniejszego czasu.

class Node():
    def __init__(self, v):
        self.v = v
    def value(self):
        return self.v

nodes = [Node(0), Node(1), Node(2), Node(3), Node(4), Node(2)]
results = []
for i in [0, 1, 2]:
    j = i + 3
    results.append(lambda: nodes[i].value() == nodes[j].value())

for result in results:
    print result

Wszystkie wyniki są prawdziwe (ponieważ i, j == 2,5 dla wszystkich lambd). Jak mogę odroczyć wykonanie lambda, dopóki nie zostanie ono faktycznie wywołane, ale z poprawnymi powiązaniami zmiennych? A wyrażenia w lambdzie niekoniecznie są równe ... istnieje wiele innych bardziej zaangażowanych wyrażeń.

Dzięki za pomoc!

questionAnswers(3)

yourAnswerToTheQuestion