Sum array values based on conditions in other arrays
sum([w for w, p, a in zip(wgt_dif, pntl, adj_wgt) if p == 4 and a != max_wgt])




Explanation:

zip(a, b, c) 


creates the list of triplets of corresponding values from the lists a, b, c - something as 

[(a[0], b[0], c[0]), (a[1], b[1], c[1]), (a[2], b[2], c[2]), ...]


so the part

for w, p, a in zip(wgt_dif, pntl, adj_wgt)


loops over this triples, associating th 1st item to w, 2nd to p, and 3rd to a.