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

pythonserver side programmingprogramming

Python 列表中项目的值不一定按任何排序顺序排列。此外,可能还存在我们只对大于特定值的某些值感兴趣的情况。在本文中,我们将了解如何获取

使用枚举

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

示例

List = [21,10,24,40.5,11]
print("给定列表: " + str(List))
#使用 next() + enumerate()
result = next(k for k, value in enumerate(List)
if value > 25)print("Index is: ",result)

运行上述代码得到以下结果

输出

给定列表: [21, 10, 24, 40.5, 11]
Index is: 3

使用 Filter 和 Lambda 函数

在下一个示例中,我们使用 lambda 函数将给定值与在每个索引处取值,然后筛选出满足所需条件的索引。从满足所需条件的元素列表中,我们选择索引 0 处的第一个元素作为答案。

示例

List = [21,10,24,40.5,11]
print("给定列表: " + str(List))
#使用 filter() + lambda
result = list(filter(lambda k: k > 25, List))[0]
print("Index is: ",List.index(result))

运行上述代码得到以下结果

输出

给定列表: [21, 10, 24, 40.5, 11]
Index is: 3

使用 map 和 lambda

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

示例

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

运行上述代码得到以下结果

输出

给定列表: [21, 10, 24, 40.5, 11]
Index is: 3

相关文章