我正在遍历一个布尔值列表
我的条件是元素的位置> m
和if the element = True
该函数将返回元素的位置
这就是我所做的:
panda =[True, True, True, True]
def find_next (l, m):
for i in l:
if ((l.index(i) > m) and i ==True):
return l.index(i)
print(find_next(panda, 2))
我希望输出为3。
但是我得到了None
。为什么?
答案 0 :(得分:1)
l.index(i)
始终返回0,因为它会在您的列表中找到True
的第一个实例
顺便说一句,您不需要在每个循环上都调用l.index
,因为当您本应知道正在进行的迭代时,便会多余地搜索列表。
def find_next(l, m):
for index, value in enumerate(l):
if index > m and value:
return index