函数返回值为 x
的第一个项列表中的索引。
是否存在一个类似于 index()
函数的函数 list_func_index()
,它有一个函数 f()
作为参数。函数 f()
在列表的每个元素 e
上运行,直到 f(e)
返回 True
。然后 list_func_index()
返回 e
的索引。
代码方面:
>>> def list_func_index(lst, func):
for i in range(len(lst)):
if func(lst[i]):
return i
raise ValueError('no element making func True')
>>> l = [8,10,4,5,7]
>>> def is_odd(x): return x % 2 != 0
>>> list_func_index(l,is_odd)
3
还有更优雅的解决方案吗? (还有一个更好的函数名称)