Proposed new syntax
Jussi Piitulainen
jussi.piitulainen at helsinki.fi
Thu Aug 10 14:04:10 EDT 2017
Steve D'Aprano writes:
> 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?
>
> [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]
More information about the Python-list
mailing list