Проверьте этот вопрос:
В основном, что-то вроде:
[sum(a) for a in zip(*[s, p]) if a[0] < 0]
Пример:
>>> [sum(a) for a in zip(*[[1, 2, 3], [10, 20, 30]]) if a[0] > 2]
[33]
Чтобы уточнить, вот что делает zip:
>>> zip(*[[1, 2, 3], [4, 5, 6]])
[(1, 4), (2, 5), (3, 6)]
Он объединяет два (или более) списка в список кортежей. Вы можете проверить условия на элементах каждого из кортежей.