If the lists are small, as implied, I believe that using operatorand itertoolsfor something like this applies a sledgehammer to the nut. Similarly numpy. What is wrong with pure Python?
result = 1
for s in [ sum(x) for x in zip( *list_) ]:
result *= s
( ,
Python product, sum). , 2- , - .
result = (list_[0][0]+list_[1][0] )*( list_[0][1]+list_[1][1])