python - 我将如何删除此 python 列表中 1 之前的所有零
问题描述
result = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0]
我想把这个列表变成
result = [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0]
我尝试使用 while 循环来不断删除零,直到找到 1 但我似乎无法让它工作。
for x in result:
while (x == 0):
result.remove(0)
解决方案
如果总是有一个 1,你可以找到它并删除它之前的所有内容:
del result[:result.index(1)]
或者如果它可能全为零:
if any(result):
del result[:result.index(1)]
或者
try:
del result[:result.index(1)]
except ValueError:
pass
或者
result.append(1)
del result[:result.index(1)]
result.pop()
推荐阅读
- reactjs - 如何将自定义主题应用于整个应用程序
- javascript - 根据给定的键和值在深度嵌套的对象数组中添加/更新属性
- python-3.x - 在while循环中附加变量值的最佳方法
- mysql - mysql GROUP BY 查询在电子邮件字段中显示部分匹配
- angularjs - 选择单选按钮 angularjs 1.7 时,ng-model 值不会改变
- node.js - 开发 Node.js 库时是否应该包括类型检查?
- django-rest-framework - 在查询集中django中选择一对多关系表
- apache-kafka - 架构注册表安全配置
- validation - Kotlin:在界面中指定输入约束
- r - 如何在R中绘制手动色标?