首页 > 解决方案 > 获取python列表中下一个非零值的索引

问题描述

假设您有一个列表[1,2,3,4,5,0,0,0,7,8, ...]。给定当前索引,获得下一个非零索引的最佳方法是什么?例如,如果 index 是 2,那么下一个非零的一个是 3;如果为 4,则为 8。

标签: python

解决方案


a = [1,2,3,4,5,0,0,0,7,8]

def nextZeroIndex(array, start):
    nextItems = array[start+1:]
    for i, x in enumerate(nextItems):
        if x != 0:
            return 1 + start + i

print(nextZeroIndex(a, 2)) # 3
print(nextZeroIndex(a, 5)) # 8
print(nextZeroIndex(a, 4)) # 8

推荐阅读