用python中的条件减去两个列表

用python中的条件减去两个列表,python,python-3.x,Python,Python 3.x,我有两个列表,例如I=7个周期: list1 = [0,0,16.5,0,29.7,62.7,90] list2 = [0,0,0,0,10,12,2.5] z = [0,0,1,0,1,1,1] p[j] = [28,10,12,5,30,15,40] rhs = 27 y = [] if z[j] == 0: y.append(0) else if p[j] < rhs: y.append(0) else y.append([a-b f

我有两个列表,例如I=7个周期:

list1 = [0,0,16.5,0,29.7,62.7,90]
list2 = [0,0,0,0,10,12,2.5]
z = [0,0,1,0,1,1,1]
p[j] = [28,10,12,5,30,15,40]
rhs = 27
y = []
if z[j] == 0:
  y.append(0)
else
    if p[j] < rhs:
       y.append(0)
    else 
       y.append([a-b for a,b in zip(list1, list2)])

print(y) 
list1=[0,0,16.5,0,29.7,62.7,90]
列表2=[0,0,0,10,12,2.5]
z=[0,0,1,0,1,1,1]
p[j]=[28,10,12,5,30,15,40]
rhs=27
y=[]
如果z[j]==0:
y、 追加(0)
其他的
如果p[j]
最终结果是y=[0,0,0,0,0,19.7,0,50],但是我的代码没有给出。你能帮我弄清楚吗。

zip()
把所有的清单放在一起:

>>> [a-b if c and d >= rhs else 0 for a, b, c, d in zip(list1, list2, z, p)]
[0, 0, 0, 0, 19.7, 0, 87.5]

你能澄清一下你的算法应该做什么吗?你的代码中既没有定义
p
也没有定义
j
。请给出一个答案。你是怎么做到的<对于该索引,代码>列表1-列表2==87.5