Proposed new syntax

Matt Wheeler m at funkyhat.org
Thu Aug 10 12:54:59 EDT 2017


On Thu, 10 Aug 2017 at 15:28 Steve D'Aprano <steve+python at pearwood.info>
wrote:

> Every few years, the following syntax comes up for discussion, with some
> people
> saying it isn't obvious what it would do, and others disagreeing and saying
> that it is obvious. So I thought I'd do an informal survey.
>
> What would you expect this syntax to return?
>

Without reading the rest of the thread so far :)...


> [x + 1 for x in (0, 1, 2, 999, 3, 4) while x < 5]
>

[1, 2, 3]


> For comparison, what would you expect this to return? (Without actually
> trying
> it, thank you.)
>
> [x + 1 for x in (0, 1, 2, 999, 3, 4) if x < 5]
>

[1, 2, 3, 4, 5]


> How about these?
>
> [x + y for x in (0, 1, 2, 999, 3, 4) while x < 5 for y in (100, 200)]
>

[100, 200, 101, 201, 102, 202]


> [x + y for x in (0, 1, 2, 999, 3, 4) if x < 5 for y in (100, 200)]


[100, 200, 101, 201, 102, 202, 103, 203, 104, 204]
-- 

--
Matt Wheeler
http://funkyh.at



More information about the Python-list mailing list