[英]Python add list items with condition
我有这样的场景:
main = [200,300,400,500]
sec = [0,0,1,0]
new = []
条件是,
output 必须像,
new = [200,500,500,900]
对于给定的条件和约束,这很好用
main = [200,300,400,500]
sec = [0,0,1,0]
new = []
j=0
for i in sec:
if i==0 and len(new)!=0:
new.append(new[-1]+main[j])
j+=1
elif i==0 and len(new)==0:
new.append(main[j])
j+=1
elif i==1:
new.append(new[-1])
print(new)
main = [200,300,400,500]
sec = [0,0,1,0]
new = [main[0]]
for i in range(1, len(main)):
if sec[i]:
new.append(new[-1])
else:
new.append(main[i] + main[i - 1])
print(new)
怎么样:
main = [200,300,400,500]
sec = [0,0,1,0]
mem = 0
new = [main[0]]
for idx in range(1,len(main)):
mem = mem if sec[idx] else sum(main[idx-1: idx+1])
new.append(mem)
new
[200, 500, 500, 900]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.