This has come up before. It will be a special case of making "if" without "else" result in a special "empty" type that is not part of the iteration. As in `[1, (2 if False) ] == [1]`.
בתאריך יום א׳, 11 בספט' 2016, 13:29, מאת Bernardo Sulzbach < mafagafogiga...@gmail.com>: > On 09/11/2016 06:36 AM, Dominik Gresch wrote: > > So I asked myself if a syntax as follows would be possible: > > > > for i in range(10) if i != 5: > > body > > > > Personally, I find this extremely intuitive since this kind of > > if-statement is already present in list comprehensions. > > > > What is your opinion on this? Sorry if this has been discussed before -- > > I didn't find anything in the archives. > > > > I find it interesting. > > I thing that this will likely take up too many columns in more > convoluted loops such as > > for element in collection if is_pretty_enough(element) and ...: > ... > > However, this "problem" is already faced by list comprehensions, so it > is not a strong argument against your idea. > > I am still unsure about whether or not the pattern you describe is > frequent enough to justify special syntax. Not to mention that the > current way to do it is already **very** readable. Just notice how > > for e in l: > if e != 2: > ... > > and > > for e in l if e != 2: > ... > > read essentially the same and take about the same number of keystrokes. > _______________________________________________ > Python-ideas mailing list > Python-ideas@python.org > https://mail.python.org/mailman/listinfo/python-ideas > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/