Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #91834

Re: for...else

References <CANFcO8tOLorV1kuGJo6Vgb-e02EhC3NL2U7oiNRNF+b2s2M2ig@mail.gmail.com> <1831776353.1951415.1433246463232.JavaMail.root@sequans.com>
Date 2015-06-02 14:52 +0200
Subject Re: for...else
From acdr <mail.acdr@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.57.1433249640.13271.python-list@python.org> (permalink)

Show all headers | View raw


That would work for my example, but it would only really work if all
the calculations are in a nice function. If I just have a block of
code, then I can't use it as easily. (E.g. replace
"complicated_calculation_2()" by multiple lines of code, which I don't
want to shove into a separate function.)

On 6/2/15, Jean-Michel Pichavant <jeanmichel@sequans.com> wrote:
> ----- Original Message -----
>> From: "acdr" <mail.acdr@gmail.com>
>> To: python-list@python.org
>> Sent: Tuesday, 2 June, 2015 1:26:42 PM
>> Subject: for...else
>>
>> Hi,
>>
>> Currently, in various places in my code, I have the equivalent of:
>>
>> for x in it:
>>     if complicated_calculation_1():
>>         cleanup()
>>         break
>>     complicated_calculation_2()
>>     if complicated_calculation_3():
>>         cleanup()
>>         break
>
> Hi
>
> With the following layout, adding calculation steps is just a matter of
> adding a line
>
> for x ion it:
>   for calc, cbk in [
>     (complicated_calculation_1, cleanup),
>     (complicated_calculation_2, None),
>     (complicated_calculation_3, cleanup),
>   ]:
>     if calc() and cbk:
>       cbk()
>       break
>
> It might give you ideas.
>
> JM
>
>
> -- IMPORTANT NOTICE:
>
> The contents of this email and any attachments are confidential and may also
> be privileged. If you are not the intended recipient, please notify the
> sender immediately and do not disclose the contents to any other person, use
> it for any purpose, or store or copy the information in any medium. Thank
> you.
>

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: for...else acdr <mail.acdr@gmail.com> - 2015-06-02 14:52 +0200

csiph-web