Отложенная оценка с использованием лямбды в Python

В цикле я пытаюсь отложить сравнение двух значений () двух узлов на более позднее время.

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

Все результаты верны (потому что i, j == 2,5 для всех лямбд). Как я могу отложить выполнение лямбды до ее фактического вызова, но с правильными привязками переменных? И выражения в лямбда-выражениях не обязательно равны ... есть множество других более сложных выражений.

Спасибо за любую помощь!

Ответы на вопрос(3)

Ваш ответ на вопрос