On 10/08/2017 15:28, Steve D'Aprano 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?
> 
> [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, 102, 201, 102, 202, 103, 203, 104, 204


-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to