Что было бы самым элегантным и эффективным способом поиска/возврата первого элемента списка, соответствующего определенному критерию?найти элемент первой последовательности, соответствующий критерию
Например, если у меня есть список объектов, и я хотел бы получить первый объект с атрибутом obj.val==5
. Я мог бы, конечно, использовать понимание списка, но это повлекло бы за собой O (n), и если n велико, это расточительно. Я мог бы также использовать цикл с break
, как только критерий был удовлетворен, но я подумал, что может быть больше pythonic/элегантное решение.
что, если вы хотите получить деталь и индекс? –
@CharlieParker, чтобы получить как индекс, так и элемент, используйте enumerate() - next ((idx, obj) для idx, obj в enumerate (objs), если obj.val == 5) –