python - Python添加有条件的列表项
问题描述
我有这样的场景:
main = [200,300,400,500]
sec = [0,0,1,0]
new = []
条件是,
- 如果第二个列表中的元素等于0,则添加第一个列表中的元素。(即) sec 列表中的元素为 0,因此 main 中的元素必须为 500(200+300)。
- 如果第二个列表中的元素等于 1,则在第一个列表中将上述元素向下放置。(即)第一个列表中的元素是 1,所以主列表中的元素必须与前面的相同。
输出必须像,
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)
推荐阅读
- android - Android Studio 的菜单栏不可读
- sql - 我在运行查询时遇到以下错误
- regex - 使用扫描方法 + 正则表达式将字符串分解为单词,如果单词有 `'` 字符,则删除该字符及其后面的所有内容
- scala - 从 catch 块记录错误到 cosmos db - spark
- flutter - 从 Hive 列表创建一组 DropdowMenuItems (Flutter & Dart)
- spring-boot - 带有spring数据jpa LockModeType.pessimistic_write的Mysql在10个并行调用时给出超时异常,并且对于旧的lock.upgrade也可以正常工作
- c++ - 我需要提取越来越多的序列
- javascript - TypeError [ERR_INVALID_CALLBACK]:回调必须是函数。收到承诺{
} - node.js - “未知”类型的参数不能分配给类型参数
- json - 在同一个数组Swift中解析不同但相似的JSON