Forming each element of
p by direct multiplication of all but one of the elements of
a is wasteful ($O(n^2)$ in operations), so first we'll calculate the product of all the elements in
a and form
p by dividing this product by the appropriate element.
a = [1, 2, 3] prod = 1 for e in a: prod *= e p =  for e in a: p.append(prod // e) print(p)