ну, для этого вам не нужна лямбда ...
sum(a*b for a, b in zip(list1, list2))
даже zip()
немного меньше, чем идеально ... чтобы избежать создания списка, используйте либо python3, либо itertools.izip
:
sum(a*b for a, b in itertools.izip(list1, list2))
но если, по какой-то причине, вы действительно хотели использовать лямбду, передайте каждый список на карту отдельно:
sum(map(lambda a, b: a*b, list1, list2))
и даже тогда вам не нужна лямбда, в модуле operator
доступен вызываемый продукт:
sum(map(operator.mul, list1, list2))
но используйте генератор в первом или втором примере, обычно он будет быстрее.