首页 > 解决方案 > Python添加有条件的列表项

问题描述

我有这样的场景:

main = [200,300,400,500]
sec = [0,0,1,0]
new = []

条件是,

  1. 如果第二个列表中的元素等于0,则添加第一个列表中的元素。(即) sec 列表中的元素为 0,因此 main 中的元素必须为 500(200+300)。
  2. 如果第二个列表中的元素等于 1,则在第一个列表中将上述元素向下放置。(即)第一个列表中的元素是 1,所以主列表中的元素必须与前面的相同。

输出必须像,

new = [200,500,500,900]

标签: pythonlistloops

解决方案


对于给定的条件和约束,这很好用

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)
       

推荐阅读