Python - Get the Index of first element greater than K

When working with Python lists, you often need to find the index of the first element that satisfies a specific condition. In this article, we'll explore different methods to get the index of the first element greater than a given value K.

Using Enumeration with next()

The enumerate() function provides both the index and value of each element. Combined with next(), it returns the first index where the condition is met ?

numbers = [21, 10, 24, 40.5, 11]
K = 25
print("Given list:", numbers)

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

Handling No Match Found

To avoid errors when no element satisfies the condition, provide a default value ?

numbers = [21, 10, 24, 15, 11]
K = 50
print("Given list:", numbers)

# Using next() with default value
result = next((k for k, value in enumerate(numbers) if value > K), -1)
print("Index is:", result if result != -1 else "Not found")
Given list: [21, 10, 24, 15, 11]
Index is: Not found

Using Filter with Lambda Function

This approach filters elements greater than K, then finds the index of the first matching element ?

numbers = [21, 10, 24, 40.5, 11]
K = 25
print("Given list:", numbers)

# Using filter() + lambda
filtered_elements = list(filter(lambda x: x > K, numbers))
if filtered_elements:
    result = numbers.index(filtered_elements[0])
    print("Index is:", result)
else:
    print("No element found greater than", K)
Given list: [21, 10, 24, 40.5, 11]
Index is: 3

Using Map with Lambda Function

The map() function creates a boolean list, then we find the first True value's index ?

numbers = [21, 10, 24, 40.5, 11]
K = 25
print("Given list:", numbers)

# Using map() + lambda
boolean_list = list(map(lambda x: x > K, numbers))
print("Boolean list:", boolean_list)

if True in boolean_list:
    result = boolean_list.index(True)
    print("Index is:", result)
else:
    print("No element found greater than", K)
Given list: [21, 10, 24, 40.5, 11]
Boolean list: [False, False, False, True, False]
Index is: 3

Comparison of Methods

Method Memory Usage Performance Error Handling
enumerate() + next() Low (iterator) Fast (stops early) Easy with default
filter() + lambda Medium Medium Manual check needed
map() + lambda High (full list) Slow (processes all) Manual check needed

Conclusion

The enumerate() with next() method is most efficient as it stops at the first match and uses minimal memory. Use filter() when you need to process the filtered results further, and map() when you need the complete boolean representation.

Updated on: 2026-03-15T17:15:33+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements