Python-获取大于K的第一个元素的索引

python列表中项目的值不一定按任何排序的顺序。当我们只对大于特定值的某些值感兴趣时,可能还有更多的情况。在本文中,我们将了解如何获得

使用枚举

使用枚举,我们可以获取列表中元素的索引和值。然后,我们应用大于条件以获得仅第一个满足条件的元素。下一个功能逐个遍历每个列表元素。

示例

List = [21,10,24,40.5,11]
print("Given list: " + str(List))
#Using next() + enumerate()result = next(k for k, value in enumerate(List)
if value > 25)print("Index is: ",result)

运行上面的代码给我们以下结果

输出结果

Given list: [21, 10, 24, 40.5, 11]
Index is: 3

使用过滤器和Lambda函数

在下一个示例中,我们采用lambda函数将给定值与每个索引处的值进行比较,然后过滤掉满足所需条件的值。从满足所需条件的元素列表中,我们选择索引为0的第一个元素作为答案。

示例

List = [21,10,24,40.5,11]
print("Given list: " + str(List))
#Using filter() + lambda
result = list(filter(lambda k: k > 25, List))[0]
print("Index is: ",List.index(result))

运行上面的代码给我们以下结果

输出结果

Given list: [21, 10, 24, 40.5, 11]
Index is: 3

使用映射和lambda

在下一个示例中,我们采用类似的方法,但是使用map而不是filter。map函数用于循环遍历每个元素。只要条件变为真,就会捕获索引。

示例

List = [21,10,24,40.5,11]
print("Given list: " + str(List))
result = list(map(lambda k: k > 25, List)).index(True)
print("Index is: ",(result))

运行上面的代码给我们以下结果

输出结果

Given list: [21, 10, 24, 40.5, 11]
Index is: 3