Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #4327
| From | "Diez B. Roggisch" <deets@web.de> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Schleifen die ohne Durchlaufen des Schleifenkörpers beendet wurden |
| Date | 2016-03-24 23:46 +0100 |
| Message-ID | <mailman.115.1458859592.2244.python-de@python.org> (permalink) |
| References | <56F445C9.3000200@mail.de> <CAMSP2L7OBP5h4yjrRrx4XuvwE3UMTg=grZqPzJ7B9ZEyYYXD5A@mail.gmail.com> <E7199327-B882-4691-A703-351C20DFE173@web.de> <A201B172-63F7-484B-80FB-EB92999275A7@darwin.in-berlin.de> |
[Multipart message — attachments visible in raw view] - view raw
Huh, im Zeitalter von ternary if’s noch den OR-Trick ;)
Ich denke wenn wuerde ich das eher kapseln in ein
def loop_or_else(iterable, sideeffect):
looped = False
for item in iterable:
looped = True
yield item
if not looped:
sideeffect()
und dann halt
for dings in loop_or_else(bums, peng):
….
Aber so richtig dolle ist das nun auch nicht, wenn peng nicht nur ein lambda gross ist.
Diez
> On 24 Mar 2016, at 22:22, Dinu Gherman <gherman@darwin.in-berlin.de> wrote:
>
> Diez B. Roggisch:
>
>> Aber for/else… hach, das waere schon schoen gewesen.
>
> Wohl wahr... Nicht schön, aber quasi-funktional ist vielleicht Folgendes:
>
>
> In [1]: def do(item): print(item)
>
> In [2]: def empty(): print('no luck')
>
> In [3]: _ = len([do(item) for item in [1, 2, 3]]) or empty()
> 1
> 2
> 3
>
> In [4]: _ = len([do(item) for item in []]) or empty()
> no luck
>
>
> Die Zuweisung nur, damit es keine Ausgabe gibt...
>
> Gruß,
>
> Dinu
>
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] Schleifen die ohne Durchlaufen des Schleifenkörpers beendet wurden "Diez B. Roggisch" <deets@web.de> - 2016-03-24 23:46 +0100
csiph-web