From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 11 Nov 2022 04:26:31 +0000 (-0800) Subject: gh-84522: Add for-loop to apply-method-to-sequence FAQ (GH-94660) X-Git-Tag: v3.11.1~103 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b31b64570a500010738f21ae4a157c834e90301c;p=thirdparty%2FPython%2Fcpython.git gh-84522: Add for-loop to apply-method-to-sequence FAQ (GH-94660) (cherry picked from commit 97c493dd3543c7c3bb5319587c162f46271d4c5d) Co-authored-by: Samuel Sloniker --- diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index f3c5b0f76494..584d33e9622e 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -1279,13 +1279,25 @@ Or, you can use an extension that provides a matrix datatype; `NumPy `_ is the best known. -How do I apply a method to a sequence of objects? -------------------------------------------------- +How do I apply a method or function to a sequence of objects? +------------------------------------------------------------- -Use a list comprehension:: +To call a method or function and accumulate the return values is a list, +a :term:`list comprehension` is an elegant solution:: result = [obj.method() for obj in mylist] + result = [function(obj) for obj in mylist] + +To just run the method or function without saving the return values, +a plain :keyword:`for` loop will suffice:: + + for obj in mylist: + obj.method() + + for obj in mylist: + function(obj) + .. _faq-augmented-assignment-tuple-error: Why does a_tuple[i] += ['item'] raise an exception when the addition works?