소스 검색

celery.utils.first(predicate, iterable): Like Perl's List::Util::first.

Ask Solem 15 년 전
부모
커밋
ea9e1214fe
1개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 8 0
      celery/utils/__init__.py

+ 8 - 0
celery/utils/__init__.py

@@ -30,6 +30,14 @@ def noop(*args, **kwargs):
     pass
 
 
+def first(predicate, iterable):
+    """Returns the first element in ``iterable`` that ``predicate`` returns a
+    ``True`` value for."""
+    for item in iterable:
+        if predicate(item):
+            return item
+
+
 def chunks(it, n):
     """Split an iterator into chunks with ``n`` elements each.