Find object in list that has attribute equal to some value (that meets any condition)

I've got a list of objects. I want to find one (first or whatever) object in this list that has an attribute (or method result - whatever) equal to value.

What's the best way to find it?

Here's a test case:

class Test:
    def __init__(self, value):
        self.value = value

import random

value = 5

test_list = [Test(random.randint(0,100)) for x in range(1000)]

# that I would do in Pascal, I don't believe it's anywhere near 'Pythonic'
for x in test_list:
    if x.value == value:
        print "i found it!"
        break

I think using generators and reduce() won't make any difference because it still would be iterating through the list.

ps.: Equation to value is just an example. Of course, we want to get an element that meets any condition.

← Назад к списку